C++ 几种构造函数的区分和调用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 几种构造函数的区分和调用相关的知识,希望对你有一定的参考价值。
class A { public: A(); //默认构造 A( A& a ); //copy构造 const A& operator=( const A& a ); //赋值操作符 }; //调用测试 A a1; //默认构造 A a2( a1 ); //copy构造 A a3 = a2; //copy构造 a2 = a3; //赋值操作符 //对3、4的解释: // //3. 如果有对象被定义,那么肯定会调用构造 // //4. 没有对象被定义时,就会调用赋值操作符 [ copy构造 ] void dost(A a); A a; dost(a); //这里a对象是复制方式调用的dost函数 //他是由A的copy构造来完成的 //所以传值调用就意味着会调用copy构造 //所以实际运用中还是推荐使用传引用的方式调用(但不要返回局部对象的引用!)
以上是关于C++ 几种构造函数的区分和调用的主要内容,如果未能解决你的问题,请参考以下文章