关于虚函数的继承和const对象及函数重载
2014-03-31 09:49
302 查看
#include <iostream> using namespace std; struct B { int i; virtual const B& f() const { cout<<"2"; return *this; } virtual int f() { cout<<"1"; return 1; } int g() { cout<<"3"; return 3; } }; struct D: B { int i; int f() { cout<<"4"; return 4; } const B& f() const { cout<<"5"; return *this; } int f(int = 0) { cout<<"6"; return 6; } virtual int g() { cout<<"7"; return 7; } }; int main() { D d; const D d_const; B b,*p = &d; const B* p_const = &d_const; b.f();//优先调用非const函数 p->f();//f为虚函数,p由d赋值,执行派生类的f函数 p->g();//B中g函数不是虚函数,调用基类的g函数 p_const->f();//const对象只能调用const函数 d_const.f(); return 0; }输出为:14355
相关文章推荐
- 关于求虚函数的和虚继承中的大小
- C++虚函数、虚继承、对象内存模型
- 关于javascript语言的继承、面向对象问题的文章
- 关于继承与构造函数重载的问题(初始化子类构造函数中的父类对象)求解答。。。
- 关于JavaScript的面向对象和继承有利新手学习
- 关于游戏对象是继承自CCSprite还是引用CCSprite的思考,想来想去,还是面向对象的思想的区别。
- javascript高级程序设计一书----关于创建和对象继承的总结
- (面向对象一)关于继承和组合的区别
- C++中关于 虚函数、虚析构、虚继承和虚基类
- A.4-继承,方法重写(覆盖)(override),虚函数(virtaul)和多态,抽象方法和抽象类abstract,密封类(sealed)和密封方法,常量的定义(const)
- 关于对象的行为、数组、继承和类的高级概念
- 关于c++中继承和虚函数的一些思考
- Qt笔记-const-虚函数-元对象系统
- 关于const对象定义在头文件中
- 0053 关于虚继承与虚函数占用字节的探索
- 关于Java中由继承关系的类对象的内容的执行顺序
- 关于基类、派生类、对象、指针和虚函数、多态、 静态绑定、 动态绑定 纯虚函数、抽象类
- 【SAP HANA】关于SAP HANA中继承属性视图Attribute View创建、激活状况下在系统中生成对象的研究
- [置顶] 从零开始学C++之虚继承和虚函数对C++对象内存模型造成的影响(类/对象的大小)
- 关于面向对象设计中继承与组合的选择