【问题标题】:C++ inheritance printingC++ 继承打印
【发布时间】:2015-11-15 05:48:05
【问题描述】:

所以我正在为学校开发一个基于继承的项目,其中涉及创建几个源自 Person 类的类。有学生、员工、小时工等。

如果我有一个名为 studentEmployee 的类,它继承自 student 和 hourlyEmployee,它也是一个 Person,是否可以同时打印 studentEmployee 的所有属性?

具体来说,Person有name属性,Student有major和gpa等属性。是否可以同时打印所有这些属性,如果可以,如何打印?

【问题讨论】:

  • 嗨 Sidd,欢迎来到 Stack Overflow,请发布您的代码以供其他人查找问题。另外,请阅读以下链接 how to ask good questionnot failing in explaing the problem
  • 子类可以访问基类的成员。在您的示例中,Person 和 Student 类属性都可以在 studentEmployee 中访问。

标签: c++ inheritance


【解决方案1】:

我认为,您可以使用 virtual 函数 PrintAttributes(例如),在 Student 或 Person 类中的某处定义,并在子类中覆盖。

【讨论】:

    【解决方案2】:

    我不知道多个条目,但是如果每个类都有一个,则可以简单地使用父类的属性来调用兄弟姐妹,将属性名称用作所有其他类的唯一属性,因此,每当您使用该名称时,特定的类将被使用。

    【讨论】:

      【解决方案3】:

      您可以将cout 用于任何类型的流。但是您应该使用此函数为您的对象定义<<

      inline std::ostream& operator<<(std::ostream& os, your_object & obj)
      {
           return os << obj.a << obj.b;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-03-19
        • 1970-01-01
        • 2015-04-19
        • 2014-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多