#include "iostream"
using namespace std;

//隐式 或 显示 构造函数 析构函数
class Test
{
public:

    //初始化一:有参构造函数
    Test(int a)
    {
        m_a = a;
    }
    //初始化二:无参数构造函数
    Test()
    {
        m_a = 0;
    }
    //初始化三:赋值构造函数 copy构造函数
    Test(const Test &obj)
    {

    }
public:
    void print()
    {
        cout<<"m_a"<<m_a<<endl;
    }
protected:
private:
    int m_a;
};

void main()
{

    //有参调用一:括号法
    Test t1(10); //c++编译器自动调用这个类的有参构造函数
    t1.print();
    //有参调用二:等号法
    Test t2 = 20; //c++编译器自动调用这个类的有参构造函数
    t2.print();
    //有参调用三:复制构造:
    Test t3 = Test(30);//程序员手工的调用构造函数 进行对象初始化
    t3.print();

    system("pause");
}

备份地址: 【c++初始化构造、初始化调用