假如需要从外部调用私有成员函数的话,自然考虑的方法是增加一个公有函数,在其中调用私有函数,或者利用友元函数调用该私有函数。
下面介绍的是一种利用虚函数的重写进行的调用方法,直接看代码吧。
#include <iostream>
#include <conio.h>
using namespace std;
class ANAME
{
public:
virtual void AddNum() = 0;
};
class BNAME : public ANAME
{
virtual void AddNum()
{
cout<< a+b <<endl;
}
int a;
int b;
public:
void getnum()
{
cin >>a >>b;
}
};
int main()
{
cout <<"Hello World!" <<endl;
ANAME* pAname = NULL;
BNAME* pBname = new BNAME;
pAname = pBname;
pBname->getnum();
cout <<"ANAME指针调用 a+b:" <<endl;
pAname->AddNum();
getch();
//cout <<"BNAME指针调用 a+b:" <<endl;
//pBname->AddNum(); //提示私有成员函数 不能在外部访问
getch();
return 0;
}