码迷,mamicode.com
首页 > 其他好文 > 详细

假定CSomething是一个类,执行下面这些语句之后,内存里创建了____个CSomething对象。

时间:2016-09-19 23:57:23      阅读:396      评论:0      收藏:0      [点我收藏+]

标签:

CSomething a();
CSomething b(2);
CSomething c[3];
CSomething &ra = b;
CSomething d=b;
CSomething *pA = c;
CSomething *p = new CSomething(4);
 
 
CSomething a();// 没有创建对象,这里不是使用默认构造函数,而是定义了一个函数,在C++ Primer393页中有说明。
CSomething b(2);//使用一个参数的构造函数,创建了一个对象。
CSomething c[3];//使用无参构造函数,创建了3个对象。
CSomething &ra=b;//ra引用b,没有创建新对象。
CSomething d=b;//使用拷贝构造函数,创建了一个新的对象d。
CSomething *pA = c;//创建指针,指向对象c,没有构造新对象。
CSomething *p = new CSomething(4);//新建一个对象。
//综上,一共创建了6个对象。个人理解,如有错误,还请大神指出。
 
CSomething a();                                            只是个函数声明
CSomething b(2);                                            +1
CSomething c[3];                                            +3,对象数组
CSomething &ra = b;                                       引用,没有新构造
CSomething d=b;                                            +1,调用拷贝构造函数
CSomething *pA = c;                                        只是给指针赋值
CSomething *p = new CSomething(4);            +1,构造并给指针赋值
总共6个
 
CSomething a();// 定义一个函数,参数为空,返回值为CSomething对象, 类似int func();  
 
    CSomething a; // 定义对象a,使用默认构造函数CSomething::CSomething() 
 
    CSomething a(0); // 定义对象a,使用构造函数CSomething::CSomething(int)

假定CSomething是一个类,执行下面这些语句之后,内存里创建了____个CSomething对象。

标签:

原文地址:http://www.cnblogs.com/guxuanqing/p/5886940.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!