问题 填空题

下列程序编译错误,是由于划线处缺少某个语句,该语句是 【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的友员就可以编译通过了。

多项选择题
单项选择题