注释的那一句不懂,而且要求输出OK,该怎么做呢?求大神赐教啊!

注释的那一句不懂,而且要求输出OK,该怎么做呢?求大神赐教啊!

问题描述:

#include
using namespace std;
class Base {
public:
virtual int print() { return -1; }
};
class Derived : public Base {
public:
Derived(){}
int print() { return 1024; }
};
void main() {
Derived derived;
Base base = derived;//不允许对不访问的基类“Base”进行转换
if( base.print() == 1024 )
cout << "OK";
else
cout << "NOT OK";
getchar();
}

用基类指针指向派生类对象才行

 #include <iostream>
using namespace std;
class Base {
public:
    virtual int print() { return -1; }
};
class Derived : public Base {
public:
    Derived(){}
    int print() { return 1024; }
};
void main() {
    Derived derived;
    Base *base = &derived;//不允许对不访问的基类“Base”进行转换
    if( base->print() == 1024 )
        cout << "OK";
    else
        cout << "NOT OK";
    getchar();
}

Base*base=&XXX

噢啦啦啦啦啦啦噜啦噜兔兔