C++工作笔记-对继承的进一步认识
这篇博文将说明我对继承的进一步理解。
比如在图形碰撞的时候,如果能让他继承一个类,那个类设置一个flag,就可以对不同的图形进行不同的碰撞分析,那么这里就可以用父类指针,去指向子类,然后读取子类里面和父类相关的数据成员与函数。
这里我写一个例子:
代码如下:
#include <iostream>
using namespace std;class MyBase{
public:int getMyValue(){ return m_myValue; }void setMyValue(int myValue){ m_myValue = myValue; }private:int m_myValue;
};class MyClass:public MyBase{
public:void printf(){ cout << "MyValue:" << MyBase::getMyValue() << endl; }
};void main(){MyClass *myClass1 = new MyClass;MyClass *myClass2 = new MyClass;MyClass *myClass3 = new MyClass;myClass1->setMyValue(1);myClass2->setMyValue(2);myClass3->setMyValue(3);MyBase *mybase = myClass1;cout << "mybase.MyValue:" << mybase->getMyValue() << endl;mybase = myClass2;cout << "mybase.MyValue:" << mybase->getMyValue() << endl;mybase = myClass3;cout << "mybase.MyValue:" << mybase->getMyValue() << endl;getchar();
}
运行截图如下:
C++工作笔记-对继承的进一步认识相关推荐
- Qt工作笔记-对setupUi(this)进一步理解
今天工作中,在构造函数中忘记了调用setupUi,使得程序中某些指针异常. 如下图的程序,当什么不做的时候,界面是这样的: 当把ui->setupUi(this)注释掉后 这里先看下setupU ...
- Java工作笔记-对反射的进一步理解
目录 基本概念 代码与实例 基本概念 反射的进一步理解: 将类的各个组成部分封装为其他对象(将一个类的组成部分封装为其他对象) 就是反射. Java代码经历的三个阶段: 1. 写好代码.java后使用 ...
- C++工作笔记-多继承下的一个大坑
当一个类多继承了2个类,如类C,继承了类A和B.创建了很多类C放到list<A*>这种容器中,一个list,保存的是类A的指针. 如果用类A直接转成类B,这个类B是无法得到类C中继承下来的 ...
- C++工作笔记-对全局变量的进一步认识(何时适合用,何时不适合用)
关于全局变量的好处,和坏处,在此不说了,还没毕业的大学生基本上对全局变量都有认识. 在此,我只记录下今天的感悟!!! 首先来看一个程序: 这里面有2个QLineEdit,一个QLineEdit一秒+1 ...
- Qt工作笔记-对QImage的进一步认识(关于α通道)
一般的点阵图BMP图,是没有α通道的,如下图所示: 而在写OpenGL的程序时候,往往要得到图像的数据位的数据,不用框架,使用FILE很容易就可以获取图像的数据, 如下图: 但用框架将更为方便: 代码 ...
- C++工作笔记-对static_cast的进一步认识(强制转换改变内存,并且删除存在的问题)
static_cast关键字(编译时类型检查) 代码如下: #include <iostream> using namespace std; class Base{ public :Bas ...
- Qt工作笔记-对QXmlStreamReader的进一步认识(读取XML)
代码如下: #include <QApplication> #include <QDebug> #include <QFile> #include <QVec ...
- maximo工作笔记
maximo工作笔记 xml学习: 多选框: <hdcheckboxgroup id="1339230676937" label="作业类型" dataa ...
- 罗辑思维在全链路压测方面的实践和工作笔记
业务的知名度越高,其背后技术团队承受的压力就越大.一旦出现技术问题,就有可能被放大,尤其是当服务的是对知识获取体验要求颇高的用户群体. 提供知识服务的罗辑思维主张"省时间的获取知识" ...
最新文章
- 专栏 | 机器学习 - 最大似然估计
- Android 图片的帧动画
- 2017《面向对象程序设计》课程作业六
- pythonos模块使用方法_python os模块使用方法
- java redis缓存实例_spring项目整合ehcache和redis缓存实例
- Highcharts custom renderer chart and tooltip
- Moment.js 一款JS时间封装库
- mysql常量求和_Mysql之:count(*)、count(常量)、count(字段)的区别
- KendoUI 基础:Grid 绑定template展示
- matlab中的高阶导数,如何用matlab求函数的导数与高阶导数 需要技巧
- Android如何播放一组音频文件(类似支付宝收款播报或者叫号播报)
- 1.3 n-gram平滑算法:Good-Turning、拉普拉斯平滑
- 汇编指令:CLD STD MOVS LODS STOS
- windows 下查看防火墙状态命令
- 当前时间、既定时间后的时间及时间比较大小(java实现)
- html 原始数据类型,JS原始数据类型-String
- npm本地仓库搭建教程
- 防反保护电路的设计(下篇)
- MySQL数据库多表查询,子查询
- 惟江上之清风,与山间之明月 - 最美的风景也许只在心中