问题
填空题
下列程序编译错误,是由于划线处缺少某个语句,该语句是 【15】 。
#include <iostream. h>
class A
______
private:
int numl;
public:
A():numl(0)
A(int i):numl(i)
;
class B
private:
int num2
public:
B():num2(0)
B(int i):num2(i)
int my_math(A obj1,B obj2);
;
int B::my_math(A obj1,B obj2)
return (obj1.num1+obj2.num2);
void main(void)
A obj1 (4)
B obj,obi2(5);
cout <<"obj1+obj2:"<<obj.my_math(obj1,obj2);
答案
参考答案:friend class B;
解析: 在B类中出现了对A类中私有成员num1的直接访问,这是不允许的。所以必须要把类B设成类A的友员就可以编译通过了。