继承中的向上类型转换
来源:互联网 发布:java实现md5解密算法 编辑:程序博客网 时间:2024/06/06 19:16
#include <iostream>using namespace std;enum note{middleC,Csharp,Cflat};class Instrument{public:void play(note) const {}};class Flute : public Instrument{};void tune(Instrument& i){i.play(middleC);}class Parent{private:int i;public:Parent(int ii) : i(ii){cout << "Parent(int ii)\n";}Parent(const Parent& b) : i(b.i){cout << "Parent(const Parent&)\n";}Parent() : i(0){cout << "Parent()\n";}friend ostream& operator<<(ostream& os, const Parent& b){return os << "Parent: " << b.i << endl;}~Parent() {}};class Member{private:int i;public:Member(int ii) : i(ii){cout << "Member(int ii)\n";}Member(const Member& m) : i(m.i){cout << "Member(const Member&)\n";}Member() : i(0){cout << "Member()\n";}friend ostream& operator<<(ostream& os, const Member& m){return os << "Member: " << m.i << endl;}~Member() {}};class Child : public Parent{private:int i;Member m;public:Child(int ii) : i(ii), Parent(ii), m(ii){cout << "Child(int ii)\n";}friend ostream& operator<<(ostream& os, const Child& c){return os << Parent(c) << c.m << "Child: " << c.i << endl;}};int main(){Parent p(9);cout << p;Child c(5);cout << c;Instrument i;tune(i);Flute f;tune(f); // 向上转型,这就是继承中向上类型转换,return 0;}
0 0
- 继承中的向上类型转换
- C++的继承关于向上类型转换
- C++中的向上类型转换和向下类型转换
- C++中的向上类型转换和向下类型转换
- C++中的向上类型转换和向下类型转换 .
- C++中的向上类型转换和向下类型转换
- 【转载】C++中的向上类型转换和向下类型转换
- C++中的向上类型转换和向下类型转换
- C++中的向上类型转换和向下类型转换
- Java中的向上类型转换和向下类型转换
- 向上类型转换
- 向上向下类型转换
- C++类继承的向上类型转换和向下类型转换
- C++中的向上类型转换和向下类型转换+四种强制类型转换
- C++中的向上类型转换和向下类型转换+四种强制类型转换
- C++中的向上类型转换以及早/晚捆绑笔记
- 向上类型转换、向下类型转换
- 向上类型转换与向下类型转换
- java的动态绑定与静态绑定
- 动态规划之切割钢条
- 安装mysqldb遇到c1083问题的解决办法
- Linux initrd详解
- 微信公众号第三方平台开发PYTHON教程 PART 5
- 继承中的向上类型转换
- bzoj1571 滑雪课Ski
- Matplotlib学习笔记1-2D绘图
- 关于no rule to make target kernel/bounds.c错误的一种解决办法
- ORA-02051问题
- gdb 查看死锁
- 机器学习中为什么需要对数据进行归一化?
- HDOJ1297
- 一点感想