我使用了虚函数,为什么输出了 30 而不输出 11 呢?
#include <iostream.h>
class A
{
public:
A(int i,int j);
virtual int P();
private:
int x;
int y;
};
A::A(int i,int j)
{
x=i;
y=j;
}
int A::P()
{
return x*y;
}
/***********************************/
class B:public A
{
public:
B(int i,int j);
virtual int P();
private:
int x;
int y;
};
B::B(int i,int j):A(i,j)
{
x=i;
y=j;
}
int B::P()
{
return x+y;
}
/*****************************/
void main()
{
B my2(5,6);
A my = my2;
cout << my.P() << endl;
}