首页 > 试题广场 >

定义一个基类 BaseClass,从它派生出类 Derive

[问答题]

定义一个基类 BaseClass,从它派生出类 DerivedClass,BaseClass 有成员函数 fn1()、 fn2(),DerivedClass 也有成员函数 fn1()、fn2(),在主程序中定义一个 DerivedClass 的对象,分别用 DerivedClass 的对象以及 BaseClass DerivedClass 的指针来调用 fn1()fn2(),观察运行结果。

推荐

解:

#include <iostream.h>
class BaseClass
{
public:
void fn1();
void fn2();
};
void BaseClass::fn1()
{
cout << "调用基类的函数 fn1()" << endl;
}
void BaseClass::fn2()
{
cout << "调用基类的函数 fn2()" << endl;
}
class DerivedClass : public BaseClass
{
public:
void fn1();
void fn2();
};
void DerivedClass::fn1()
{
cout << "调用派生类的函数 fn1()" << endl;
}
void DerivedClass::fn2()
{
cout << "调用派生类的函数 fn2()" << endl;
}
void main()
{
DerivedClass aDerivedClass;
DerivedClass *pDerivedClass = &aDerivedClass;
BaseClass *pBaseClass = &aDerivedClass;
aDerivedClass.fn1();
aDerivedClass.fn2();
pBaseClass->fn1();
pBaseClass->fn2();
pDerivedClass->fn1();
pDerivedClass->fn2();
}

程序运行输出:

调用派生类的函数 fn1()

调用派生类的函数 fn2()

调用基类的函数 fn1()

调用基类的函数 fn2()

调用派生类的函数 fn1()

调用派生类的函数 fn2()



发表于 2018-04-18 20:47:58 回复(0)