C++ 当我将父方法作为派生对象调用时出错
C++ Error when I call a parent method as a derived object
#include <iostream>
#include <string>
using namespace std;
class parent
{
int x=0;
public:
int getx()
{
return x;
}
};
class child : public parent
{
int x=7;
};
int main()
{
parent cat;
cout << cat.getx();
child s;
cout << s.getx(); //stops working here
return 0;
}
这是我遇到的问题的一个例子。为什么当我调用 cout <<getx(( 作为派生对象时它不打印 7?
#include <iostream>
#include <string>
class parent
{
protected:
int m_x;
public:
parent(int x = 0) : m_x(x) {}
int getx(){return m_x;}
};
class child : public parent
{
public:
child():parent(7){}
};
int main()
{
parent cat;
std::cout << cat.getx() << std::endl;
child s;
std::cout << s.getx() << std::endl;
return 0;
}
结果
dgs@dhome:~/Develop/Test2$ make getx
g++ getx.cpp -o getx
dgs@dhome:~/Develop/Test2$ ./getx
0
7
相关文章:
- 如何使用单独文件中的派生类访问友元函数对象
- 使用基类指针创建对象时,缺少派生类析构函数
- 为什么此派生对象无法访问基类的后递减方法?
- 将带有派生模板的对象传递给接受具有基本模板的对象的功能
- 放置派生C++的新基子对象
- 在 C++ 中将对象转换为派生类型
- 链表包含 c++ 中不同的派生类对象
- 如何在不使用指针的情况下将派生类的对象作为参数传递给基类中的函数?
- 如何在新的派生对象中获取基本对象的数据?
- 如何将成员函数作为参数传递并在派生对象上执行方法列表
- 获取我的基类以递增派生类对象整数
- 派生类中的对象
- 在没有默认构造函数的情况下创建的派生对象
- OOP 标识派生对象
- 如何创建派生对象的向量?
- 按基类对象访问派生类资源时出错
- 将基类分配给派生对象,反之亦然,以C++以及静态和动态对象之间的差异
- static_cast将此对象派生到C++中的基类
- 如何在构造函数完成后立即销毁从 QWindow 对象派生的内容
- 我可以判断std::type_info对象是否等于另一个对象或从另一个对象派生的类吗?