#include<iostream>
#include<string>
using namespace std;
class cpu{
public:
virtual ~cpu(){
cout << "看看我执行了吗!" << endl;
}
virtual void func() = 0;
};
class xianka{
public:
virtual void xian() = 0;
};
class zicpu :public cpu{
public:
void func(){
cout << "lenvovcpu正在运行" << endl;
}
};
class zixianka :public xianka{
public:
void xian(){
cout << "lenvov显卡正在运行" << endl;
}
};
class comper {
public:
~comper(){
//手动释放堆区内存
if (m_cpu != NULL)
delete m_cpu;
if (m_xianka != NULL){
delete m_xianka;
}
}
comper(cpu *cpu,xianka *xianka){
m_cpu = cpu;
m_xianka = xianka;
}
void fa(){
m_cpu->func();
m_xianka->xian();
}
private:
cpu *m_cpu;
xianka *m_xianka;
};
void test(){
cpu *abc = new zicpu;
xianka *ac = new zixianka;
comper *as = new comper(abc, ac);
as->fa();
}
int main(){
test();
}
c++多态案例三 组装电脑
最新推荐文章于 2024-07-10 22:49:54 发布