有如下程序: using namespace std; class Boat; class Car{ public: Car(int i):weight(i){} friend int Total(const Car &c,const Boat&b);//

admin2018-12-04  45

问题 有如下程序:
using namespace std;
class Boat;
class Car{
public:
Car(int i):weight(i){}
friend int Total(const Car &c,const Boat&b);////①
private:
int weight;
};
class Boat{
public:
Boat(int i):weight(i){}
friend int Total(const Car&c,const Boat &b);
private:
int weight;
};
int Total(const Car &c,const Boat &b){//②
return c.weight+b.weight;
}
int main(){
Car c(10);
Boat b(8);
cout<<"The total weight is"<<Total(c,b)<<endl;//③
return 0:
}
下列关于程序的描述中,正确的是(    )。

选项 A、程序编译正确
B、程序编译时语句①出错
C、程序编译时语句②出错
D、程序编译时语句③出错

答案A

解析 程序中定义了类Car和类Boat,在两个类中分别定义他们的构造函数和友元函数friend。程序在VC6.0中编译通过。
转载请注明原文地址:https://jikaoti.com/ti/VVt0FFFM
0

最新回复(0)