定义基类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;
}
不是很明白加粗地方的想法。