#include<iostream>
usingnamespace std;
classClassTest
{
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
return0;
}
- 定义类指针(引用这里不再说明)
int main()
{
ClassTest* pClass =newClassTest;
ClassTest* pClass1 =newClassTest();
ClassTest* pClass2 =newClassTest(1);
ClassTest* pClass3 =newClassTest(1,2);
delete pClass;
delete pClass1;
delete pClass2;
delete pclass3;
return0;
}
- 其中第一句和第二句是等价的,它们调用的是同一个构造函数。