如果基类成员函数的访问修饰符受保护或公共,则可以从派生类调用基类的成员函数 . 可以从派生成员函数调用基类非虚拟和虚拟成员函数 . 请参考该计划 .
#include
using namespace std;
class Parent
{
protected:
virtual void fun(int i)
{
cout<
}
void fun1(int i)
{
cout<
}
void fun2()
{
cout<
}
};
class Child:public Parent
{
public:
virtual void fun(int i)
{
cout<
Parent::fun(++i);
Parent::fun2();
}
void fun1(int i)
{
cout<
Parent::fun1(++i);
}
};
int main()
{
Child d1;
d1.fun(1);
d1.fun1(2);
return 0;
}
输出:
$ g++ base_function_call_from_derived.cpp
$ ./a.out
Child::fun partial functionality write here
Parent::fun functionality write here
Parent::fun3 functionality write here
Child::fun1 partial functionality write here
Parent::fun1 functionality write here