#include <iostream>
using namespace std;
class A
{
protected:
int m_data;
public:
A(int data=0):m_data(data){}
int getData()
{
return doGetData();
}
virtual int doGetData()
{
return m_data;
}
};
class B:public A
{
protected:
int m_data;
public:
B(int data = 1):m_data(data){}
int doGetData()
{
return m_data;
}
};
class C:public B
{
protected:
int m_data;
public:
C(int data):m_data(data){}
};
int main(int argc, char *argv[])
{
C c(10);
cout << c.getData() << endl; // 1
cout << c.A::getData() << endl;// 1
cout << c.B::getData() << endl;
cout << c.C::getData() << endl;
cout << c.doGetData() << endl;
cout << c.A::doGetData() << endl;
cout << c.B::doGetData() << endl;
cout << c.C::doGetData() << endl;
return 0;
}
C++中的虚函数
最新推荐文章于 2024-07-13 14:34:09 发布