第十八课 对象的构造(中)
一、构造函数
带有参数的构造函数
注意
-
对象的定义和对象声明不同 对象定义:申请对象的空间并调用构造函数 对象声明:告诉编译器存在这样的对象
构造函数调用示例
class test{
public:
test()
{
...
};
test(int a)
{
...
};
}
int main(char* argc, char** argv)
{
test t0;// 调用构造函数test()
test t1(1); // 调用构造函数test(int a)
test t2 = 1; //调用构造函数test(int a)
return 0;
}
class test{
public:
test()
{
...
};
test(int a)
{
...
};
}
int main(char* argc, char** argv)
{
test t1[3] = {test, test(1), test}; // 调用构造函数test(int a)
return 0;
}
二、小结
- 构造函数刻意根据需要定义参数
- 构造函数之间可以存在重载关系
- 构造函数遵循C++中重载函数的规则
- 对象定义时会触发构造函数的调用
- 在一些情况下可以手动调用构造函数
|