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