C++构造函数调用规则
1)当类中没有定义任何一个构造函数时,C++编译器会提供默认无参构造函数和默认拷贝构造函数
2)当类中定义了拷贝构造函数时,C++编译器不会提供无参数构造函数
3)当类中定义了任意的非拷贝构造函数时,当类中提供了有参构造函数或无参构造函数,c++编译器不会提供无参构造函数
总结:只要你写了构造函数,那么必须要用
构造析构阶段总结
1)构造函数是C++中用于初始化对象状态的特殊函数
2)构造函数在创建对象时,自动被调用
3)构造函数和普通成员函数都遵循重载原则
4)拷贝构造函数是对象正确初始化的重要保证
5)必要时候必须手动编写拷贝构造函数
#include<iostream>
using namespace std;
class test
{
public:
test()
{
}
test(int a,int b)
{
m_a = a;
m_b = b;
}
private:
int m_a;
int m_b;
};
int main()
{
test t1; //报错,t1不存在默认构造函数,不添加test(){}
system("pause");
}