m0_61923478 2023-07-24 19:36 采纳率: 66.7%
浏览 19
已结题

关于#c++#的问题:c2679

这个错误怎么改掉呀

#include<iostream>
using namespace std;
#include<string>

class Phone
{
public:
    Phone(string pName)
    {
        cout << "phone的构造函数" << endl;
        m_PName = pName;
    }
    ~Phone()
    {
        cout << "phone的析构函数" << endl;
    }
    string m_PName;
};

class Person
{
public:
    Person(string name, string pname): m_Name(name),m_Phone(pname)
    {
        cout << "person的构造函数" << endl;
    }
    ~Person()
    {
        cout << "person的析构函数" << endl;

    }

    string m_Name;
    Phone m_Phone;
};

void test01()
{
    Person p("张三","苹果");
    cout << p.m_Name<<"使用的手机是" << p.m_Phone << endl;

}

int main()
{
    test01();
    system("pause");
}

img

  • 写回答

3条回答 默认 最新

  • a5156520 2023-07-24 20:11
    关注

    第40行的p.m_Phone 后面加个.m_PName就可以了,即访问Person对象p的m_Phone成员变量的m_PName属性。

    修改如下:

    参考链接:

    
    
    #include<iostream>
    using namespace std;
    #include<string>
     
    class Phone
    {
    public:
        Phone(string pName)
        {
            cout << "phone的构造函数" << endl;
            m_PName = pName;
        }
        ~Phone()
        {
            cout << "phone的析构函数" << endl;
        }
        string m_PName;
    };
     
    class Person
    {
    public:
        Person(string name, string pname): m_Name(name),m_Phone(pname)
        {
            cout << "person的构造函数" << endl;
        }
        ~Person()
        {
            cout << "person的析构函数" << endl;
     
        }
     
        string m_Name;
        Phone m_Phone;
    };
     
    void test01()
    {
        Person p("张三","苹果");
         // http://c.biancheng.net/view/2223.html 
        // p.m_Phone.m_PName访问 Person对象p的成员变量m_Phone的m_PName属性 
        cout << p.m_Name<<"使用的手机是" << p.m_Phone.m_PName << endl;
     
    }
     
    int main()
    {
        test01();
        system("pause");
    }
     
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月1日
  • 已采纳回答 7月24日
  • 创建了问题 7月24日