#include "stdafx.h"
#include <iostream.h>
class Base
{
public:
virtual void fn()
{
cout << "Base Class!" << endl;
}
};
class SubClass : Base
{
public:
virtual void fn()
{
cout << "Sub Class!" << endl;
}
};
void main(int argc, char* argv[])
{
Base b, *p;
SubClass c;
p = &b;
p->fn();
p = &c; // 这行出错: error C2243: type cast : conversion
// from class SubClass * to class Base * exists,
// but is inaccessible
p->fn();
}
class SubClass :public Base
p = (Base *)&c;
同masterz