#include <iostream>
#include <string>
using namespace std;
class Phone
{
public:
Phone(string name)
{
m_pName = name;
}
string m_pName;
};
class A
{
public:
// 在这个列表赋值中是 Phone p_phone = phoneName 隐式转化
A(string pname, string phoneName) : name(pname), p_phone(phoneName)
{
}
string name;
Phone p_phone;
};
// 初始化列表
class Person
{
public:
// 传统的构造函数赋值
// Person(int A, int B, int C)
// {
// a = A;
// b = B;
// c = C;
// }
// 初始化列表初始化属性
// 这种是固定赋值
// Person() : a(10), b(200), c(3000)
// {
// }
// 非固定赋值
Person(int a, int b, int c) : a(a), b(b), c(c)
{
}
int a;
int b;
int c;
};
void test()
{
Person p(10, 20, 30); // 此时这个对象已经有了属性和属性值
Person p1(30, 40, 50);
cout << p.a << " " << p.b << " " << p.c << endl;
cout << p1.a << " " << p1.b << " " << p1.c << endl;
}
void test1()
{
A a("mmm", "apple");
cout << a.name << endl;
cout << a.p_phone.m_pName << endl; // a.p_phone 是创建了手机对象 a.p_phone.m_pName就是apple这个属性值
}
int main()
{
test1();
return 0;
}
C++ 初始化列表
最新推荐文章于 2024-09-26 21:10:57 发布