程序该错

来源:百度知道 编辑:UC知道 时间:2024/06/14 08:31:52
该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
A:a=5
display1:a=6
display2:a=5

源程序文件清单如下:
#include<iostream.h>
class A
{
public:
/**********found**********/
A(){}
void printa(){cout<<"A:a="<<a<<endl;}
private:
int a;
/**********found**********/
class B;
};
class B
{
public:
/**********found**********/
void display1(A t)
{
(*t).a++;cout<<"display1:a="<<(*t).a<<endl;
}
void display2(A t)
{
t.a--;cout<<"display2:a="<<t.a<<endl;
}
};
void main()
{
A obj1;
B obj2;
obj1.printa();
obj2.display1(&obj1);
obj2.display2(obj1);
}

#include<iostream.h>
class A
{
public:
/**********found**********/
A(int i):a(i)
{
}
void printa()
{
cout << "A:a=" << a << endl;
}
private:
int a;
/**********found**********/
friend class B;
};
class B
{
public:

/**********found**********/
void display1( A* t )
{
( *t ).a++;cout << "display1:a=" << ( *t ).a << endl;
}
void display2( A t )
{
t.a--;cout << "display2:a=" << t.a << endl;
}
};
void main()
{
A obj1(5);
B obj2;
obj1.printa();
obj2.display1( &obj1 );
obj2.display2( obj1 );
}