class A {
public:
int m1;
string m2;
public:
int a1;
string a2;
char a3;
public:
virtual void p(){ std::cout << "A::p()" << std::endl; }
virtual void q() = 0;
void h(){ std::cout << "A::h()" << std::endl; }
};
class B : public A{
private:
int n1;
public:
int b1;
string b2;
public :
void p(){ std::cout << "B::p()" << std::endl; }
void q(){ std::cout << "B::q()" << std::endl; }
void h(){ std::cout << "B::h()" << std::endl; }
};
void testAB()
{
A* a = new B();
a->p(); // 输出B::p()
a->q(); // 输出B::q()
a->h(); // 输出A::h()
}
下面是 c++对象模型
【参考文献】
1、http://www.cnblogs.com/skynet/p/3343726.html