在学习多态
#include<iostream>
using namespace std;
class Calculator2
{
public:
int m_Num3;
int m_Num4;
virtual int Getresult()
{
return 0;
}
};
class Addcalculator :public Calculator2
{
public:
int Getresult()
{
return m_Num3 + m_Num4;
}
};
class Subcaluculator :public Calculator2
{
int Getresult()
{
return m_Num3 - m_Num4;
}
};
class Mulcalculator :public Calculator2
{
int Getresult()
{
return m_Num3 * m_Num4;
}
};
class Dividecalculator :public Calculator2
{
int Getresult()
{
return m_Num3 / m_Num4;
}
};
void test2()
{
Calculator2* c = new Addcalculator;
c->m_Num3 = 1;
c->m_Num4 = 2;
cout << c->m_Num3 << "+" << c->m_Num4 << "=" << c->Getresult() << endl;
delete c;
c = new Subcaluculator;
c->m_Num3 = 1;
c->m_Num4 = 2;
cout << c->m_Num3 << "-" << c->m_Num4 << "=" << c->Getresult() << endl;
delete c;
c = new Mulcalculator;
c->m_Num3 = 1;
c->m_Num4 = 2;
cout << c->m_Num3 << "*" << c->m_Num4 << "=" << c->Getresult() << endl;
delete c;
c = new Dividecalculator;
c->m_Num3 = 1;
c->m_Num4 = 2;
cout << c->m_Num3 << "/" << c->m_Num4 << "=" << c->Getresult() << endl;
delete c;
}
int main()
{
test2();
system("pause");
return 0;
}
这是写了个就是了解计算器的原理的代码,有些粗糙,数据重输入数据类型啥的先别管。想问一下,那个test2里边写的是用指针你在堆区开辟了一个地址存放那个父类的对象的指针。
如果剖去下边test2()。想拿引用做地址存放那个父类的对象的指针。该咋操作
