1.括号
Person p1; //默认构造函数
Person p2(10); //构造函数
Person p3(p2); //拷贝构造函数
2.显示
Person p1; //默认构造函数
Person p2 = Person(10); //构造函数, Person(10)单独写就是匿名对象,当前行结束后机会被析构
Person p3 = Person(p2); //拷贝构造函数
3.隐式转换法
Person p2 = 10; //构造函数 //编译器会转化成第二种方法
Person p3 = p2; //拷贝构造函数
4.初始化列表的形式
class Person
{
public:
Person() :a(10), b(20), c(30) //第一种初始化列表
{
}
Person(int m, int n, int l) :a(m), b(n), c(l) //第二种初始化列表
{
}
int a, b, c;
}