所以我有 2 个类,即book
和mainscreen
,从哪里book
公开继承mainscreen
。
现在我想通过主屏幕的成员函数来使用类书的公共成员函数。
这是我的代码:
class book;
class mainscreen:virtual public book
{
protected:
int logged;
public:
void printmenu();
void printhead();
void auth();
void logout();
mainscreen();
};
class book:public mainscreen
{
private:
int bookno,
days,
late_days;
long double price;
float fine_calc(int a,float b) // a -> late days , b -> fine per day
{
return a*b;
}
public:
book(); //const
void input();
void display();
void update();
};
调用部分:-
void mainscreen::printmenu(){
int i;
printhead();
cout<<"\n\n\t Choose a Number to perform the corresponding task \n";
cout<<"\n1.Enter a new Book ";
cout<<"\n2.Issue a Book ";
cout<<"\n3.Return a book" ;
cout<<"\n4.Update Information for a book ";
cout<<"\n5.Information About books ";
cout<<"\n6.Logout ";
cout<<"\nEnter your choice: ";
cin>>i;
menuhandler(i);
}
void mainscreen::menuhandler(int choice){ //the no of choice selected
switch(choice)
{
case 1: printhead();
input();
case 2: printhead();
issuebook();
case 3: printhead();
returnbook();
case 4: printhead();
update();
case 5: printhead();
display();
case 6: logout();
default:
cout<<"Invalid Choice! Press Return to Try again. ";
getch();
printmenu(); // Reset to menu
}
}
当我尝试book
在 的成员函数中使用类的公共成员函数时mainscreen
,出现以下错误:调用未定义函数。