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

建设旅游电子商务网站的目的徐州网站快速优化排名

建设旅游电子商务网站的目的,徐州网站快速优化排名,淄博专业做网站,东城区网站排名seo拷贝构造函数是一种特殊的构造函数#xff0c;它在创建对象时#xff0c;使用的是同一类中之前创建的对象来初始化新创建的对象。拷贝构造函数通常用于#xff1a; l 通过使用另一个同类型的对象来初始化新创建的对象#xff1b; l 复制对象把它作为参数传递给函数#… 拷贝构造函数是一种特殊的构造函数它在创建对象时使用的是同一类中之前创建的对象来初始化新创建的对象。拷贝构造函数通常用于 l  通过使用另一个同类型的对象来初始化新创建的对象 l  复制对象把它作为参数传递给函数 l  复制对象并从函数返回这个对象。   如果类中没有定义拷贝构造函数编译器会自行定义一个。如果类中带有指针变量并有动态内存分配则它必须有一个拷贝构造函数。拷贝构造函数最常见的形式如下 classname(const classname obj) {//构造函数主体 } 在这里obj是一个对象的引用该对象是用于初始化另一个对象的。 /*** copy_constructor.cpp ***/ #includeiostream using namespace std;class Line {public:Line(int len);Line(const Line obj);~Line(); int getLength(void);private:int *ptr; };Line::Line(int len) {cout call construct func endl;//allocate memory for pointer ptr new int;*ptr len; }Line::Line(const Line obj) {cout call copy constructor func and allocate memory for point endl;ptr new int;*ptr *obj.ptr; }Line::~Line(void) {cout free memory endl;delete ptr; }int Line::getLength(void) {return *ptr; }void display(Line obj) {cout the size of line : obj.getLength() endl; }int main() {Line line(10);display(line);return 0; } 运行结果 exbotubuntu:~/wangqinghe/C/20190806$ ./copy call construct func call copy constructor func and allocate memory for point the size of line : 10 free memory free memory   void display(Line obj) //通过gdb调试该程序在 Line obj处进入拷贝函数构造。   如果使用以下的main int main() {Line line1(10);Line line2 line1;display(line1);display(line2);return 0; } 运行结果 exbotubuntu:~/wangqinghe/C/20190806$ ./copy call construct func call copy constructor func and allocate memory for point call copy constructor func and allocate memory for point the size of line : 10 free memory call copy constructor func and allocate memory for point the size of line : 10 free memory free memory free memory   在C中对象以值传递的方式传入函数参数 /*** value_transf.cpp ***/ #includeiostream using namespace std;class CExample {public:CExample(int b){a b;cout create: a endl;}//copy constructorCExample(const CExample C){a C.a;cout copy constructor endl;}//destructor~CExample(){cout delete: a endl;}void show(){cout a endl;}private:int a; };void g_Fun(CExample C) {cout test endl; }int main() {CExample test(1);g_Fun(test);return 0; } 运行结果 exbotubuntu:~/wangqinghe/C/20190806$ g value_transf.cpp -o value_transf -g exbotubuntu:~/wangqinghe/C/20190806$ ./value_transf create: 1 copy constructor test delete: 1 delete: 1 调用g_Fun()时会产生以下几个重要的步骤 1 test对象传入形参时会先产生一个临时变量暂且称呼C 2 然后调用拷贝构造函数把test值给C。这两个步骤很像CExample C 3 等g_Fun()执行完后析构掉C对象。   拷贝构造函数是一种特殊的构造函数具有单个形参该形参常用const修饰是对该类类型的引用。当定义一个新对象并用一个同类型的对象把它进行初始化时将显示使用拷贝构造函数或从函数返回该类型的对象时将隐式调用拷贝构造函数。   C支持两种初始化形式 拷贝初始化int a 5和直接初始化 int a(5); 对于其他类型没有什么区别对于类类型直接初始化直接调用实参匹配的构造函数拷贝构造初始化总是调用拷贝构造函数也就是说 A x(2);  //直接初始化调用构造函数 A y x; //拷贝初始化调用拷贝构造函数。 必须定义拷贝构造函数的情况 只包含类类型成员或内置类型但不是指针类型成员的类无须显示地定义拷贝构造函数也可以拷贝有的类有一个数据成员是指针或者是由成员表示在构造函数中分配的其他资源这两种情况下都必须定义拷贝构造函数。   以下情况使用拷贝构造函数 类的对象需要拷贝时拷贝构造函数将会调用。以下情况都会调用拷贝构造函数 l  一个对象以值传递的方式进入函数体 l  一个对象以值传递的方式从函数返回 l  一个对象需要通过另外一个对象进行初始化   转载于:https://www.cnblogs.com/wanghao-boke/p/11310843.html
http://www.zqtcl.cn/news/842095/

相关文章:

  • 网站wap怎么做郑州做网站华久科技
  • 哪里网站开发好姜堰网站定制
  • 广东网站开发需要多少钱百度问答官网
  • 建设电影网站的关键wordpress简码怎么用
  • 做网站的linux程序代码北京公司减资流程
  • 四川省住房建设厅网站进不去wordpress 无限下拉菜单
  • 培训网站图片网络编程基础知识
  • 外销网站怎么做的上海住房与城乡建设部网站
  • 平台网站建设教程网站建设谈业务要知道什么
  • php网站开发试题济南网站排名公司
  • 没有官方网站怎么做seo优化营销推广平台都干什么的
  • 网盘搜索网站怎么做中国建设银行网站股份结构变化
  • 有ip怎么用自己的主机做网站惠州网站制作维护
  • 优质的网站制作在线编辑器
  • 盘锦做网站电话网络营销做私活网站
  • 有关网站建设的毕业设计外卖网站的建设与推广
  • cms 做网站用模板网站做h5宣传页多少钱
  • 坪山网站建设行业现状官方建网站有哪些步骤
  • 软件下载网站模版单页网站开发实例下载
  • 张家口网站建设vewanseo实战技术培训
  • 机加工网站室内设计联盟论坛
  • 汕头装修接单网站wordpress php加密
  • 重庆网站建设推广设置wordpress静态主页
  • 科技设计公司网站模板下载网站建设计划 文库
  • 建设美食网站做的好的阅读类的网站有哪些
  • 全屏网站模板制作教程吴江建设局房产网站
  • 浠水网站建设漳州找人做网站要求哪些
  • 做网站需要前台和后台吗公众号制作要求
  • 做一个网站 如何盈利模式招聘网站排行榜2021
  • 免费做网站网站有人哪些c 网站开发网易云课堂百度云下载