为什么我调用了子类的makedrink方法后,重写的boil,brew,input,putsth方法里面的内容没有输出?我的编译环境是vscode
输出结果如下:
making drink
making drink
[1] + Done
源代码
#include<iostream>
using namespace std;
class makedrink
{
public:
virtual void boil()=0;
virtual void brew()=0;
virtual void input()=0;
virtual void putsth()=0;
void mkprecedure(){
cout<<"making drink"<<endl;
void boil();
void brew();
void input();
void putsth();
}
};
class coffe:public makedrink
{
public:
virtual void boil(){
cout<<"boiling water"<<endl;
}
virtual void brew(){
cout<<"brewing coffe"<<endl;
}
virtual void input(){
cout<<"put into a cup"<<endl;
}
virtual void putsth(){
cout<<"putsht into the drink"<<endl;
}
};
class tea:public makedrink
{
public:
virtual void boil(){
cout<<"boiling water"<<endl;
}
virtual void brew(){
cout<<"brewing tea"<<endl;
}
virtual void input(){
cout<<"put into a cup"<<endl;
}
virtual void putsth(){
cout<<"putsht into the drink"<<endl;
}
};
void function1(makedrink* drink){
drink->mkprecedure();
delete drink;
}
void test(){
function1(new coffe);
function1(new tea);
}
int main(){
test();
return 0;
}