c++ - 覆盖 C++ 未按预期工作
问题描述
我是面向对象编程的新手,所以我对最重要的概念有一个模糊的理解。然而,下面的例子完全让我感到困惑:
class Base {
public:
void Hello() {
cout << "hello world from the BASE class" << endl;
}
void printHello() {
for (int i = 0; i <= 5; i++) {
Hello();
}
}
};
class Derived: public Base {
public: void Hello() {
cout << "hello world from the DERIVED class";
}
};
int main() {
Derived obj;
obj.printHello();
return 0;
}
预期结果:5*“来自 DERIVED 类的 hello world”
结果:5*“来自 BASE 类的你好世界”
BASE 类中的 Hello() 函数不应该被 DERIVED 类中的函数替换吗?如果没有,我怎样才能获得这个?
提前致谢!
解决方案
推荐阅读
- api - ASP.NET Core 5 MVC Web 应用程序 - 通过 xamarin 登录
- mysql - mariaddb 函数中未声明的变量 compid
- javascript - 云功能不偏移 Firestore 查询的日期
- angular - 表格搜索过滤器不起作用,Angular 10
- typescript - Why can TypeScript's compiler not analyze an array of types?
- c - 我无法在c中输入字符值
- mongodb - MongoDB 聚合 - 在单个查询中以 2 种方式分组
- html - 尽管所有单元格都是矩形,但无法让 CSS 网格创建一个空单元格
- pandas - Python - 使用 .iterrows() 以外的方法循环数据帧
- javascript - JQGrid - 如何将 HTML 插入网格页脚