我希望使用一个父类来调用所有的子类的某一个函数,我使用了虚函数但是貌似不行,而且出错了
#include <iostream>
using namespace std;#include <windows.h>class Animal
{
private:
virtual void Alive();public:
int air;
int setAir(int air)
{
air = air; Alive(); return 0;
};
};class girl:public Animal
{
private:
void Alive();
public:
int Dead();};void girl::Alive()
{
if(Animal::air <10)
{
girl::Dead();
}}
int girl::Dead()
{
cout<<"girl all dead!!!"<<endl;
return 0;
}class human:public Animal
{
private:
void Alive();
public:
int Dead();
};int human::Dead()
{
cout<<"human all dead!!!"<<endl;
return 0;
}void human::Alive ()
{
if(Animal::air <10)
{
human::Dead();
}
}int a;
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
Animal t;
t.setAir (8);
return 0;
}
#include <iostream>
using namespace std;#include <windows.h>class Animal
{
private:
virtual void Alive();public:
int air;
int setAir(int air)
{
air = air; Alive(); return 0;
};
};class girl:public Animal
{
private:
void Alive();
public:
int Dead();};void girl::Alive()
{
if(Animal::air <10)
{
girl::Dead();
}}
int girl::Dead()
{
cout<<"girl all dead!!!"<<endl;
return 0;
}class human:public Animal
{
private:
void Alive();
public:
int Dead();
};int human::Dead()
{
cout<<"human all dead!!!"<<endl;
return 0;
}void human::Alive ()
{
if(Animal::air <10)
{
human::Dead();
}
}int a;
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
Animal t;
t.setAir (8);
return 0;
}
解决方案 »
- 用createprocess 打开网页后,如何获取此网页弹出的窗口,请给个思路
- 如何自动的向LISTCTRL添加信息
- 我做的网站,进者有分!
- 如何用DeleteFile 删除正在预览中的视频文件,比如*.mpg文件?
- 求助:100分,网络传输中数据压缩的问题
- 请问,学习离散数学需要先懂高等数学吗?
- 有没有这样一个函数,画一个矩形,但内部不填充?
- MFC框架使用的讨论,有关于frame, doc, view之间的协调关系~~~~~~
- 請問哪里有全套MSDN下載?最好是中文版的(NULL)
- 用DC的TextOut()时,怎样设定想要的字体!
- vc++ 多线程调试输出问题
- 求socket限速算法的思路
{
private:
virtual void Alive();//这也得加virtual吧
#include <iostream>
using namespace std;class Animal
{
private:
int f_air;
virtual void Alive(); public:
int Air()
{
return f_air;
} int SetAir(int air)
{
f_air = air;
Alive(); return air;
};
};void Animal::Alive()
{
}
class Girl: public Animal
{
private:
void Alive(); public:
int Dead();
};void Girl::Alive()
{
if(Air() < 10) Girl::Dead();
else
cout<<"Girl alive!"<<endl;
}int Girl::Dead()
{
cout<<"Girl all dead!!!"<<endl;
return 0;
}
class Human: public Animal
{
private:
void Alive(); public:
int Dead();
};void Human::Alive()
{
if(Air() <10) Human::Dead();
else
cout<<"Human alive!"<<endl;
}int Human::Dead()
{
cout<<"Human all dead!!!"<<endl;
return 0;
}int main()
{
Animal *a = new Girl;
Animal *b = new Human; a->SetAir(11);
a->SetAir(8);
b->SetAir(11);
b->SetAir(8); delete a, b; return 0;
}