首页 > 解决方案 > 如何在 c++ 中使用带有另一个类对象的构造函数?

问题描述

我有一个简单的程序,其中有两个类,它们是HatPerson。每个Person都有一个string name, aint idNum和一个 hat 对象。每个帽子只有一个字符串hatType和一个字符hatSize。在主要方法中,我想简单地声明 2 个人并使用显示方法来显示信息。这是我当前的代码,请放轻松我还是C++中的OOP新手。

人员类

class Person
{
  private:
    string name;
    unsigned int idNum;
    Hat myHat;

  public:
    Person(string, unsigned int, Hat);
    void display();
};


Person::Person(string personName, unsigned int personID)
{
    name = personName;
    idNum = personID;
    myHat = hat;
}

void Person::display()
{
        cout << "Given name : " << name << endl;
        cout << "Id. number : " << idNum << endl;
        hat.display();
}

帽子课

class Hat
{
  private:
    string hatType;
    char hatSize; // S, M, L

  public:
    Hat(string,char);
    void display();
};

Hat::Hat(string _type, char _size){
    hatType = _type;
    hatSize = _size;
}

void Hat::display()
{
    cout << "Hat type   : " << hatType << endl;
    cout << "Hat size   : " << hatSize << endl;
}

主要的

int main()
{

    Person personA("Alice",12321, Hat("Trilbee",'M'));

    Person personB("Bob",2324, Hat("Ferret",'S'));

    personA.display();
    personB.display();

    return 0;
}

标签: c++oopconstructor

解决方案


你的 Person 类在这里:

 Person::Person(string personName, unsigned int personID) 
 {
  . ...

没有完全实现只需添加hat参数...

Person::Person(string personName, unsigned int personID, Hat hat)
{....

推荐阅读