一道题

来源:互联网 发布:应用搬家软件 编辑:程序博客网 时间:2024/06/04 19:13

定义基类Base,有两个共有成员函数fn1()、fn2(),私有派生出Derived类,如果想在Derived类的对象中使用基类函数fn1(),应怎么办?
我的代码:

#include<iostream>using namespace std;class Base{public:    Base(){}    ~Base(){}    void fn1();    void fn2();};void Base::fn1(){    cout << "Base fn1 is used." << endl;}void Base::fn2(){     cout << "Base fn2 is used." << endl;}class Derived :public Base{public:    Derived(){}    ~Derived(){}};int main(){    Derived n;    n.fn1();    n.fn2();    return 0;}

教程的代码:

#include <iostream>using namespace std;class Base{public:    int fn1() const { cout << "Base fn1 is used." << endl; return 1; }    int fn2() const { cout << "Base fn2 is used." << endl; return 2; }};class Derived : private Base{public:    int fn1() { cout << "Derived fn1 is used." << endl; return **Base::fn1();** };    int fn2() { cout << "Derived fn2 is used." << endl; return **Base::fn2();** };};int main(){    Derived derive;    derive.fn1();    derive.fn2();    return 0;}

不是很明白加粗地方的想法。

0 0
原创粉丝点击