当前位置: 首页 > wzjs >正文

重庆百度seo代理网站推广和精准seo

重庆百度seo代理,网站推广和精准seo,社区网站 租用服务器还是只需要购买空间,做物流网站注意什么文章目录 构造函数构造函数概述复制构造函数 析构函数 构造函数 构造函数概述 当类的实例进入其作用域,也就是建立一个对象时,就会调用构造函数。 那么,构造函数的作用是什么呢?当建立一个对象时,常常需要做某些初始…

文章目录

  • 构造函数
    • 构造函数概述
    • 复制构造函数
  • 析构函数

构造函数

构造函数概述

当类的实例进入其作用域,也就是建立一个对象时,就会调用构造函数。
那么,构造函数的作用是什么呢?当建立一个对象时,常常需要做某些初始化工作,例如,对数据成员赋值,设置类的属性等,而这些操作刚好在构造函数中完成。

定义:构造函数是与类同名的特殊成员函数,没有返回值(包括void)。
调用:构造函数在创建对象时自动调用,不能被显式调用。
重载:可以定义多个构造函数(构造函数重载),以支持不同的初始化方式。

默认构造函数:
不带参数的构造函数。
如果没有定义任何构造函数,编译器会自动提供一个默认构造函数。
示例:

class Point
{
public:Point(){ // 默认构造函数x = 0;y = 0;}int x, y;
};

带参数的构造函数:
接受参数以初始化对象的属性。
示例:

class Point
{
public:Point(int xVal, int yVal){ // 带参数的构造函数x = xVal;y = yVal;}int x, y;
};

复制构造函数

在开发程序时可能需要保存对象的副本,以便在后面执行的过程中恢复对象的状态。那么,如何使用已经初始化的对象来生成一个一模一样的对象呢?答案是使用复制构造函数来实现。复制构造函数的参数是一个已经初始化的类对象。
使用复制构造函数,代码如下:

#include < iostream >
#include "Person.h"
using namespace std;
int main()
{CPerson p1(20, 30, 100);CPerson p2(p1);
}

程序中先使用带参数的构造函数声明对象p1,然后通过复制构造函数声明对象p2。因为p1已经是初始化完成的类对象,所以它可以作为复制构造函数的参数。

析构函数

构造函数和析构函数是类体定义中比较特殊的两个成员函数,因为它们都没有返回值,而且构造函数名标识符和类名标识符相同,析构函数名标识符就是在类名标识符的前面加上“~”符号。

构造函数主要用来在创建对象时,给对象中的一些数据成员赋值,目的就是初始化对象。析构函数是用来释放对象的,在删除对象前,用它来做一些清理工作。析构函数的功能与构造函数的功能正好相反。

#include <iostream>
#include <cstring>class Student
{
public:// 默认构造函数Student(const char *name, int age){// 动态分配内存并复制字符串this->name = new char[strlen(name) + 1];strcpy(this->name, name);this->age = age;}// 析构函数~Student(){std::cout << "Destructor called for: " << name << std::endl;delete[] name; // 释放动态分配的内存}// 显示学生信息void display() const{std::cout << "Name: " << name << ", Age: " << age << std::endl;}private:char *name; // 动态分配的字符串int age;
};int main()
{{Student student1("Alice", 20); // 创建一个对象student1.display();            // 输出: Name: Alice, Age: 20} // student1的作用域结束,析构函数会被调用{Student student2("Bob", 22); // 创建另一个对象student2.display();          // 输出: Name: Bob, Age: 22} // student2的作用域结束,析构函数会被调用return 0;
}

使用析构函数的注意事项如下:
在一个类中只可能定义一个析构函数。
析构函数不能重载。
构造函数和析构函数不能使用return语句返回值。不用加上关键字void。

构造函数和析构函数的调用环境如下:
(1)自动变量的作用域是某个模块,当此模块被激活时,自动变量调用构造函数;当退出此模块时,会调用析构函数。
(2)全局变量在进入main()函数之前会调用构造函数,在程序终止时会调用析构函数。
(3)动态分配的对象使用new为对象分配内存时会调用构造函数;使用delete删除对象时会调用析构函数。
(4)临时变量是为了支持计算,由编译器自动产生的。在临时变量生存期的开始和结尾会调用构造函数与析构函数。

http://www.dtcms.com/wzjs/509207.html

相关文章:

  • 做网站标准步骤北京seo优化诊断
  • 电商网站开发语言营销策划品牌策划
  • 免费购物网站程序模板免费下载网站
  • 企业培训机构排名前十优化seo是什么
  • 网站建设 怎样找客户百度竞价推广屏蔽软件
  • 银河麒麟软件下载网站搜索引擎广告图片
  • 怎么用WordPress快速建站鞍山seo外包
  • 高效网站推广费用国外搜索引擎大全
  • 房产网站建设批发微博推广怎么做
  • 无锡微信网站推广平台引流推广怎么做
  • 手机网站建设哪家公司好长沙百度推广排名优化
  • 朝阳区手机网站建设服务郑州网站优化外包顾问
  • 创建app平台需要多少钱新乡seo优化
  • 网站活动专题页面谷歌浏览器 官网下载
  • 有没有外国网站可以做兼职翻译的百度推广怎么开户
  • 杭州做家教网站网站优化及推广
  • 智能模板建站网站seo分析报告
  • 网站建设参考文献外文网站外链优化方法
  • 建立自己的网站可以采用的方式有安卓aso优化
  • wordpress实现商城河南企业站seo
  • 网站建设费可以计入办公费用么怎么让自己上百度
  • 产品外观设计网站搜索引擎的两个基本方法
  • 知名的政府网站建设企业百度的营销策略
  • 中山营销网站建设联系方式seo交流qq群
  • 虚拟主机 域名 和网站关系太原网站建设方案优化
  • 宝安做网站的app推广策略
  • 交易平台网站建设项目需求东莞seo网站优化排名
  • 在哪些网站可以做企业名称预审北京优化核酸检测
  • 电子商务网站建设 教材天津seo网络营销
  • 四川建设部网站官网北京建站优化