64,654
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
class Base
{
public:
int m_a, m_b;
Base (int a =3, int b = 5): m_a(a), m_b(b){}
int func_a(){return m_a - m_b;}
virtual int func_b(){return m_a + m_b ;}
};
class Derived : public Base
{
public:
Derived (int a =4, int b = 7): Base (a,b){}
virtual int func_a() {return m_b+ m_a ;}
int func_b(){return m_b - m_a ;}
};
int main()
{
Base * aa, *bb;
int a1, a2, a3, a4;
aa =new Base(4, 7);
bb = new Derived(3, 5);
a1 = aa-> func_a();
a2 = aa ->func_b();
a3 = bb ->func_a(); // 这个调用哪个函数? ? 求讲解
a4 = bb ->func_b(); // 多态性 调用 Derived: func_b()
printf("%d %d %d %d \n", a1 ,a2 ,a3 ,a4 ); // -3 11 -2 2 (vs2010 运行结果)
system("pause");
return 0;
}