c++,单继承,垃圾值
C++ ,Single Inheritance, Garbage Value
#include<iostream>
using namespace std;
class Alpha
{
int a;
public:
void get_a(int x)
{
a = x;
}
int hello()
{
return a;
}
};
class Beta : public Alpha
{
int b, c;
public:
void get_b(int y)
{
b = y;
}
void add()
{
c = hello() + b;
cout << c << endl; // displays garbage value
}
};
int main()
{
Alpha v1;
Beta v2;
v1.get_a(4);
v2.get_b(3);
v2.add();
v2.disp();
return 0;
}
v2.disp()的输出显示垃圾值,但当我将"a"初始化为v2时。Get_a而不是v1。Get_a,它显示正确答案。c++新手。请帮助。谢谢。
问题是您有两个彼此不相关的不同对象。物体v1
与物体v2
是不相关的,它们是独立的、不同的物体。你用v1.get_a(4)
初始化Alpha::a
,这不会初始化Beta::a
。
解决这个问题的方法是使用一个对象:
Beta v;
v.get_a(4);
v.get_b(3);
v.add();
v.disp();
相关文章:
- 继承函数的重载解析
- 继承期间显示未知行为的子类
- 头文件-继承c++
- 为什么在保护模式下继承升级不起作用
- QTreeView幻灯片多选后无法使用单击选择
- 通过继承类使用来自不同命名空间的运算符
- 具有 QObject 继承的单例 - Qt
- 继承的模板化单例类 c++ 中未定义的构造函数
- 是C 单继承的内存布局与此C代码相同
- 对于空类的单继承层次结构,是否可以保证大小相等
- c++中的单虚拟继承编译器优化
- c++,单继承,垃圾值
- 单例继承c++实现
- 从单例模板继承
- 多重继承和单例设计模式
- 单例继承链接器错误
- 从单例类调用继承类的析构函数
- 从qt中继承表单的最佳方式
- 如何实现继承表单fstream的类
- 单继承c++和头文件