为什么下面的复制构造函数还要添加count++呢?不是说一个对象创建时会...
发布网友
发布时间:2024-10-18 16:01
我来回答
共1个回答
热心网友
时间:2024-11-19 17:21
我是这么认为的!各构造函数时互不相干的。
假如类名为A。那么:
A();//无参构造函数
A(constA&other);//拷贝构造函数
//其实重要的还有一个赋值运算符重载和析构函数,在这就不赘述了,其他参数的构造函数不做讨论
当进行的是这样时:Aa,b;这调用的是无参构造函数
当进行的是这样时:
Aa;
Ab(a);构造a调用的是无参构造函数,构造b则调用的是拷贝构造函数。另外,当你写的函数的返回值为A类的对象(非引用)时,系统也会自动调用拷贝构造函数。
总之,每个类的对象在构造时会调用且仅仅调用一次构造函数,至于调用的具体是哪个构造函数,则要视代码情况而定了。
希望我的解释对楼主有用。