22. 向上造型
来源:互联网 发布:网络语飙车是什么意思 编辑:程序博客网 时间:2024/04/28 15:32
B 父类
D 子类
一个D的对象,可以交给B的变量.
一个D的指针,可以交给B的指针.
一个D的reference, 可以交给B的reference.
如果B是A的子类,那么B的对象可以被当做A的对象来看待/使用.
#include <iostream>using namespace std;class A{ public: int i; public: A():i(10) {} };class B:public A{ };int main(){ A a; B b; cout << a.i << " " << b.i << endl; // 10 10 cout << sizeof(a) << " " << sizeof(b) << endl; //4 4 int *p = (int*)&a; cout << p << " " << *p << endl; //0x7fff57659bf0 10 p = (int*)&b; cout << p << " " << *p << endl; //0x7fff57659be8 10 return 0;}int main(){ A a; B b; cout << a.i << " " << b.i << endl; // 10 10 cout << sizeof(a) << " " << sizeof(b) << endl; //4 4 int *p = (int*)&a; cout << p << " " << *p << endl; //0x7fff57659bf0 10 *p = 20; cout << a.i << endl; // 20 p = (int*)&b; cout << p << " " << *p << endl; //0x7fff57659be8 10 return 0;}
#include <iostream>using namespace std;class A{ public: int i; public: A():i(10) {} };class B:public A{ private: int j; public: B():j(30) {} void f() { cout << " B.j = " << j << endl; }};int main(){ A a; B b; cout << a.i << " " << b.i << endl; // 10 10 cout << sizeof(a) << " " << sizeof(b) << endl; //4 8 int *p = (int*)&a; cout << p << " " << *p << endl; //0x7fff57659bf0 10 *p = 20; cout << a.i << endl; // 20 p = (int*)&b; cout << p << " " << *p << endl; //0x7fff57659be8 10 p++; *p = 50; b.f(); //B.j = 50 return 0;}
子类的对象,当做父类的对象来看待,叫做upcasting(向上造型).
Manager是特殊的Employee.
Employee : 父类
Manager : 子类
Manager pete(“Pete”, “444-55-6666”, “Bakery”);
Employee* ep = &pete; // upcasting(向上造型)
Employee& er = pete; //upcasting(向上造型)
阅读全文
0 0
- 22. 向上造型
- 向上造型
- c++向上造型(upcast)
- Java 向上造型详解
- Upcating(向上造型)
- java中的向上造型
- 浅谈向上造型
- iava中的向上造型
- Java 多态,向上造型
- C++向上造型
- 继承,super,向上造型
- Java中的向上造型和向下造型
- C++ Upcast(向上造型)
- 关于向上造型的思考
- Java学习笔记--向上造型
- java内存管理、继承、和向上造型
- Day42、操作符重载、继承、向上造型
- java 上溯造型(向上转型)和动态绑定
- matlab练习程序(生成多维高斯分布概率密度函数)
- Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置
- [jzoj]3578. 【CEOI2013】Adriatic(记忆化/DP)
- struts2 验证码详情
- [Leetcode] 530. Minimum Absolute Difference in BST 解题报告
- 22. 向上造型
- 【unity笔记一】四元数函数 (LookRotation ,AngleAxis与FromToRotation)
- 当前深度神经网络模型压缩和加速方法速览
- Eight Queen
- Java 泛型
- 查找算法和排序算法
- ThinkPHP5上传视频文件问题总结
- ubuntu运行C++程序
- mongodb笔记06(MongoDB 分片)