#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();
}
#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();
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货