不知道b的结果怎么是这样
我在学继承,以下是一个简单程序
#include<iostream.h>
class Base_T
{
protected:
int a;
public:
void seta(int sa)
{a=sa;}
};
class Derive1_T:private Base_T
{
protected:
int b;
public:
void setb(int sb)
{b=sb;}
};
class Derive2_T:public Derive1_T
{
int c;
public:
void setc(int sc)
{c=sc;}
void show()
{
cout<<"b="<<b<<endl;
cout<<"c="<<c<<endl;
}
};
void main()
{
Base_T op1;
op1.seta(1);
Derive1_T op2;
op2.setb(2);
Derive2_T op3;
op3.setc(3);
op3.show();
}
结果应该是b=2,c=3.可是输出c是对的,b怎么等于好大一个负数阿,请帮忙