设置类名继承和显示在另一个类中
Set class name inherit and display in another class
为什么我不能设置类名并继承它并像下面给出的代码一样显示在另一个类中?我做错了什么?
#include<iostream>
#include<string>
using namespace std;
class dealer
{
string name;
public:
dealer(){};
dealer(string n): name(n){};
~dealer(){};
//void setname(string n){name = n;};
void display(){cout<<name<<endl;}
};
class car : public dealer
{
public:
dealer b;
car(){};
//car(string n): dealer(n){};
~car(){};
void display(){dealer::display();}
};
int main ()
{
dealer a("ABC");
car c;
c.display();
}
工作正常。你用car
默认构造函数初始化c
,它隐式地调用dealer
默认构造函数,它不做任何事情。name
仍然是一个空字符串,这就是打印出来的内容。解决这个问题:
//car(string n): dealer(n){}; <--- uncomment
car c("ABC"); //initialize like this
来自注释:你的继承层次结构不正确。car
有一个dealer
,但不是一个经销商。一个更好的设计系统应该是这样的:
class dealer { ... };
class car
{
dealer &d;
car(dealer &nd): d(nd) { };
void display(){ d.display();}
}
相关文章:
- 类中的一个变量显示,但另一个不显示
- 如何在QListWidget中显示QStringList的每个项目QLabel和另一个QString?
- Gtkmm - 关闭窗口然后显示另一个窗口的正确方法
- 显示 matlab 程序的输出,调用另一个 C++ 程序
- 如何在另一个CDialog中显示嵌套的CDialog
- C 将用户输入从一个函数到另一个功能,并使用Main(Newbie)显示
- c++将var从一个函数传递到另一个函数,然后在主函数中显示结果
- 尝试在另一个 SDL2 上显示一个图像没有错误,但不会显示第二个图像
- 如何使用CIMG.H库在另一个图像上显示一个图像
- 如何在C 和QT中的另一个窗口中显示MainWindow的结果图像
- 导出visual studio c++项目以在另一个项目中使用,而不显示.cpp和.h源文件
- 尝试在单击按钮时捕获编辑框中的文本,然后显示到另一个编辑框
- 如何在QT中将小部件的内容添加和显示到另一个小部件上
- 单击按钮时显示另一个 UI 文件
- 无法在放置在另一个 QWidget 中的 QWidget 中显示树 (QTreeView)
- 在 QWidget 传递给另一个类后,将 QWidget 传递给 QPushButton(按钮不显示)
- 如何使用信号和插槽从qt表单中获取id,然后在链表中搜索它并使用另一个表单显示结果
- 具有两个窗口的C++中的应用程序.任务栏中显示的一个窗口.另一个未显示
- 如何在qt中的另一个窗口中显示一个窗口
- 如何从文件中的类调用,以使用着色器显示在另一个包含gl代码的文件中(其中两个文件都在jni文件夹中)