这篇博文将说明我对继承的进一步理解。
比如在图形碰撞的时候,如果能让他继承一个类,那个类设置一个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(); }
运行截图如下: