標籤:
#include <iostream>
using namespace std;
class ClassTest
{
public:
ClassTest()
{
cout << "ClassTest()" <<endl;
}
ClassTest(int i)
{
cout << "ClassTest(int)" <<endl;
value2 = i;
}
ClassTest(int i, int j): value(i), value2(j)
{
cout << "ClassTest(int, int)" <<endl;
}
private:
int value = 0;
int value2 = 0;
};
int main()
{
ClassTest test;//使用預設建構函式(即ClassTest())
//ClassTest test();/*這裡被認為是一個函數的聲明,而不是定義對象*/
ClassTest test1(1);//ClassTest(int)
ClassTest test2(1, 2);//ClassTest(int, int)
ClassTest test3 = ClassTest(); //先調用ClassTest()構建一個臨時變數,然後將這個臨時變數通過拷貝建構函式賦值給test3
return 0;
}
int main()
{
ClassTest * pClass = new ClassTest;
ClassTest * pClass1 = new ClassTest();
ClassTest * pClass2 = new ClassTest(1);
ClassTest * pClass3 = new ClassTest(1, 2);
delete pClass;
delete pClass1;
delete pClass2;
delete pclass3;
return 0;
}
- 其中第一句和第二句是等價的,它們調用的是同一個建構函式。
來自為知筆記(Wiz)
C++建構函式