请问这些代码为什么会在加上一个手机颜色的属性之后报错,该怎么修改
#include
using namespace std;
#include<string>
//类对象作为类成员
//手机类
class Phone
{
public:
Phone(string pName,string pColor)
{
m_PName = pName;
m_PColor = pColor;
}
//手机品牌
string m_PName;
string m_PColor;
};
class Person
{
public:
Person(string name, string pName,string pColor) :m_Name(name), m_Phone(pName),m_Color(pColor)
{
}
//姓名
string m_Name;
//手机
Phone m_Phone;
//颜色
Phone m_Color;
};
void test01()
{
Person p1("张三", "三星","red");
cout << p1.m_Name << "的手机牌子是:" << p1.m_Phone.m_PName << endl;
cout << p1.m_Name << "的手机颜色是:" << p1.m_Phone.m_PColor << endl;
}
int main()
{
test01();
system("pause");
return 0;
}
Person类 修改如下:
class Person
{
public:
Person(string name, string pName,string pColor):m_Phone(pName, pColor),m_Name(name)
{
}
string m_Name; // 姓名
Phone m_Phone; // 手机
};
如有帮助,欢迎采纳哈!