C++的构造函数分为有参构造函数和无参构造函数,如:
class Test
{
public:
Test() //无参数构造函数
{
m_a = 0;
m_b = 0;
cout<<"无参数构造函数"<<endl;
}
Test(int a)
{
m_a = a;
m_b = 0;
}
Test(int a, int b) //有参数构造函数
{
m_a = a;
m_b = b;
cout<<"有参数构造函数"<<endl;
}
public:
void printT()
{
cout<<"普通成员函数"<<endl;
}
private:
int m_a;
int m_b;
};
在上面定义的类中,既有有参构造函数,又有无参构造函数,此时若我们定义:
Test t1; //调用无参数构造函数
则t1使用无参构造函数进行初始化。如果我们需要使用有参构造函数,有3种方法:
Test t1(1, 2); //调用参数构造函数 c++编译器自动的调用构造函数
t1.printT();
// 2 =号法
Test t2 = (3, 4, 5, 6, 7); // = c++对等号符 功能增强 c++编译器自//动的调用构造函数
Test t3 = 5;
//3 直接调用构造函数 手动的调用构造函数
Test t4 = Test(1, 2);