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

做优惠券网站公司章程范本

做优惠券网站,公司章程范本,河南建设工程信息网一体化平台官网,鞍山做网站哪家好文章目录前言一、基本概念1 构造函数2 析构函数二、示例1. 构造函数和析构函数的简单使用2. 拷贝构造函数的调用3. 浅拷贝和深拷贝前言 本文讲述了构造函数和析构函数的概念以及对应的示例#xff0c;以便加深理解。 一、基本概念 1 构造函数 构造函数用于初始化类的对象以便加深理解。 一、基本概念 1 构造函数 构造函数用于初始化类的对象可以由程序员自己定义也可以由编译器定义构造函数内为空。 其特点 1.没有返回类型。 2.函数名和类名相同。 3.可以有参数也可以没有。 4.可以重载。 5.程序会自动调用。 按照参数分类 1.无参构造函数 2.有参构造函数包括拷贝构造函数 3种构造方法 1.括号法 2.显示法 3.隐式转换法 调用规则 1.编译器会给类添加至少三个构造函数1默认构造函数2析构函数空3拷贝构造函数值拷贝如果不写拷贝构造编译器会自动生成一个拷贝构造函数Name c.Name;。 2.如果自己写了有参构造函数编译器不会再提供默认构造函数但还是会提供拷贝构造函数。 3.如果自己写了拷贝构造函数编译器其他两种构造函数都不会再提供。 2 析构函数 析构函数用于销毁之前声明的类对象系统自动调用用~类名声明。 1.析构函数不可以有参数。 2.析构函数无法重载。 二、示例 1. 构造函数和析构函数的简单使用 class Cat { public:Cat(){cout 喵是无参构造函数 endl;}Cat(string name){Name name;cout 喵是有参构造函数 endl;}//用于拷贝c的属性值用常量引用的方式进行Cat(const Cat c){Name c.Name;cout 喵是拷贝构造函数 endl;}~Cat(){cout 喵是析构函数 endl;}string Name;//咪咪名字 };void FindName() {//括号法Cat cat1;//用默认构造函数时不能加括号否则编译器会当作函数声明。Cat cat2(cat1);//拷贝构造函数调用Cat cat3(小300);//有参构造函数调用。Cat cat4(cat3);//拷贝构造函数调用cout 第一个猫的名字是 cat1.Name endl;cout 第二个猫的名字是 cat2.Name endl;cout 第三个猫的名字是 cat3.Name endl;cout 第四个猫的名字是 cat4.Name endl;//显示法Cat cat5;//默认构造函数Cat cat6 Cat(三号楼);//有参构造函数调用。Cat cat7 Cat(cat6);//拷贝构造函数调用Cat(蹭铁棍);//匿名对象会直接调用构造函数和析构函数再去执行后面的内容。//Cat(cat7);不要匿名初始化拷贝构造函数cout 第五个猫的名字是 cat5.Name endl;cout 第六个猫的名字是 cat6.Name endl;cout 第七个猫的名字是 cat7.Name endl;//隐式调用string name8 来两根;Cat cat8 name8;cout 第八个猫的名字是 cat8.Name endl; }int main() {FindName(); }喵是拷贝构造函数 喵是普通有参构造函数 喵是拷贝构造函数 第一个猫的名字是 第二个猫的名字是 第三个猫的名字是小300 第四个猫的名字是小300 喵是无参构造函数 喵是普通有参构造函数 喵是拷贝构造函数 喵是普通有参构造函数 喵是析构函数 第五个猫的名字是 第六个猫的名字是三号楼 第七个猫的名字是三号楼 喵是普通有参构造函数 第八个猫的名字是来两根 喵是析构函数 喵是析构函数 喵是析构函数 喵是析构函数 喵是析构函数 喵是析构函数 喵是析构函数 喵是析构函数2. 拷贝构造函数的调用 void eat1(Cat cat) {cout cat.Name 吃猫粮 endl; }Cat eat2() {Cat cat(炸糊的栗子);cout cat.Name 吃骨头 endl;return cat; } void FindName() {//使用一个已经创建的对象来初始化新的对象Cat cat1(小300);//有参构造函数调用。Cat cat2(cat1);//拷贝构造函数调用cout 第一个猫的名字是 cat1.Name endl;cout 第二个猫的名字是 cat2.Name endl;//值传递传值 Cat cat3(烤糊的栗子);eat1(cat3);cout 第三个猫的名字是 cat3.Name endl;//值方式返回局部对象Cat cat4 eat2();cout 第四个猫的名字是 cat4.Name endl; }喵是普通有参构造函数 喵是拷贝构造函数 第一个猫的名字是小300 第二个猫的名字是小300 喵是普通有参构造函数 喵是拷贝构造函数 烤糊的栗子吃猫粮 喵是析构函数 第三个猫的名字是烤糊的栗子 喵是普通有参构造函数 炸糊的栗子吃骨头 喵是拷贝构造函数 喵是析构函数 第四个猫的名字是炸糊的栗子 喵是析构函数 喵是析构函数 喵是析构函数 喵是析构函数3. 浅拷贝和深拷贝 深拷贝在堆区开辟空间完成拷贝。 浅拷贝简单赋值拷贝的方式就属于浅拷贝比如默认的拷贝构造函数。 class Cat { public:Cat(){cout 喵是无参构造函数 endl;}//Cat(string name)//{// Name name;// cout 喵是普通有参构造函数 endl;//}Cat(string name, int age){Name name;Age new int(age);cout 喵是普通有参构造函数 endl;}Cat(const Cat c){Name c.Name;//深拷贝,用new将传入Age的地址解引用然后在堆区重新创建一个空间与cat3所指向的新内存空间就不一样了不会发生析构函数重复释放报错的问题。Age new int(*c.Age);cout 喵是拷贝构造函数 endl;}~Cat(){if (Age ! NULL){delete Age;Age NULL;}cout 喵是析构函数 endl;}string Name;//咪咪名字int *Age;//咪咪年龄 };void FindName() {浅拷贝仅发生值传递//Cat cat1(小300);//Cat cat2(cat1);////cout 第一个猫的名字是 cat1.Name endl;//cout 第二个猫的名字是 cat2.Name endl;//深拷贝,用new在内存中开辟新空间Cat cat3(小300,2);Cat cat4(cat3);cout 第三个猫的名字是 cat3.Name endl;cout 第三个猫的年龄是 *cat3.Age endl;cout 第四个猫的名字是 cat4.Name endl;cout 第四个猫的年龄是 *cat4.Age endl; }int main() {FindName(); }喵是普通有参构造函数 喵是拷贝构造函数 第三个猫的名字是小300 第三个猫的年龄是2 第四个猫的名字是小300 第四个猫的年龄是2 喵是析构函数 喵是析构函数
http://www.sadfv.cn/news/55274/

相关文章:

  • 网站项目实施方案网站反链接
  • 在哪个网站上做简历win 7怎么卸载wordpress
  • vs网站毕业设计怎么做总部基地网站建设公司
  • 陕西企业电脑网站制作wordpress主题不能用
  • 成交功能网站网站备案表上面的开办单位写什么
  • 业务网站风格模板wordpress主题添加
  • 河北网站建设seo优化营销制作设计购买建立网站费怎么做会计凭证
  • 站长工具ip地址网页毕业设计说明书
  • 德阳网站网站建设网站公司架构
  • 网站开发人力成本烟台网站制作公司
  • 易联网站制作全是图片的网站怎么做seo
  • 做任务的网站源码横店影视城网站建设
  • 山西制作网站东莞公司网站怎么做
  • 主机怎么做网站服务器外汇做单记录做单专业网站有哪些
  • 网站制作费用明细男女做羞羞的视频网站
  • 跨境电商网站如何查看网站开发单位
  • 建设网站费用主要包括哪些广州seo公司排名
  • 婺源网站建制作网站建设教程纯正苏州久远网络
  • 为校园网站建设提供seo上海公司
  • 深圳网站平台建设网上销售平台
  • 网页设计和网站设计黑龙江省建设厅的网站
  • 网站备案怎样提交到管局网站建设超速云免费
  • 全国送花网站承接网站建设广告语
  • 怎么做自己的简历网站wordpress 推荐返利
  • wordpress代码创建子站点专业地推团队
  • 成都网站建设scjsc888营销型网站有那些网站
  • 打渔网站建设天津市建设厅注册中心网站
  • 上饶市建设局培训网站安卓手机app开发软件下载
  • 西安网站建设查派全球十大跨境电商平台排行榜前十名
  • 国内网站排名企业网络拓扑图的设计方案