};
voidmain()
{
Deriveda;//派生类对象
Base*p=&a;//基类指针指向派生类对象
p->Show();//通过指针调用Show(),执行基类的Show()
a.Show();//通过派生类对象直接调用Show()
}
运行结果:
参考答案:
1
2
知识点32:
常对象只能调常成员函数,而一般对象既可调常成员函数,也可调非常成员函数。
示例53:
阅读如下程序,写出运行结果。
#include
classMyTest
{
private:
intnum;//数据成员
public:
MyTest(inti):
num(i){}
voidPrint(){cout<<"1:
num="<voidPrint()const{cout<<"2:
num="<};
voidmain()
{
MyTesta(5);//一般对象
constMyTestb(18);//常对象
a.Print();//一般对象优先调用一般函数
b.Print();//常对象只能调用常函数
}
运行结果:
参考答案:
1:
num=5,2:
num=18
示例54:
阅读如下程序,写出运行结果。
#include
classSample
{
intn;
public:
Sample(inti){n=i;}
voidPrint(){cout<<"1:
n="<voidPrint()c