构造函数与复制构造函数
学了一个学期的c++,还是不懂构造函数与复制构造函数的区别,我知道构造函数是初始化变量的,但是具体是用来做什么的,不知道高手懂不懂我的意思,我感觉不能深入的理解这个东西,还有复制构造函数,忘高手解答
[解决办法]
- C/C++ code
//复制构造函数,这名字说的这么清楚,你还有什么好说...class Test{public: int nID; Test(Test& tp) : nID(tp.nID){}};int main(){ Test tp_1; tp_1.nID = 5; Test tp_2(tp); //这样不就复制构造了么? return 0;}
[解决办法]
说区别并不好
构造函数的范围更大,复制构造函数那也属于构造函数,它是构造函数中的一种特例。
复制构造函数是直接用一个该类型的对象来完成对象的初始化
- C/C++ code
#include <iostream>using namespace std;class A {private: int m_nData;public: A (int n=0):m_nData(n){} A (const A& a){ m_nData=a.m_nData; }}int main(void){ A a(1);// A b(a);//用对象a来构造对象b return 0;}