补充以下代码,完成函数定义,使其可以正常执行。 #include<iostream> using namespace std; class vehicle{ protected: int size; int speed; public: void set(int s){ speed=s; } (1) get(){ return speed/10; } }; class car:public vehicle{ public: int get(){ return speed; } }; class truck:public vehicle{ public: int get(){ return speed/2; } }; int max( (2) ){ //形参为引用类型 if(v1.get()>v2.get()) return 1; else return 2; } int main() { truck t; car c; t.set(160); c.set(80); cout<<max(t,c)<<endl; //输出:2 return 0; }
时间: 2024-01-22 22:02:17 浏览: 103
下面是补充完整的代码:
```
#include<iostream>
using namespace std;
class vehicle{
protected:
int size;
int speed;
public:
void set(int s){
speed=s;
}
int get(){
return speed/10;
}
};
class car:public vehicle{
public:
int get(){
return speed;
}
};
class truck:public vehicle{
public:
int get(){
return speed/2;
}
};
int max(vehicle& v1, vehicle& v2){ // 形参为引用类型
if(v1.get()>v2.get())
return 1;
else
return 2;
}
int main()
{
truck t;
car c;
t.set(160);
c.set(80);
cout<<max(t,c)<<endl; // 输出:2
return 0;
}
```
需要注意的是:
1. 在 `vehicle` 类中,`get()` 函数返回的是 `speed/10`,所以其返回值类型应该是 `int`。
2. 在 `max()` 函数中,参数类型应该是 `vehicle&`,即引用类型。
3. 在 `car` 和 `truck` 类中,都重载了 `get()` 函数,返回不同的值。
阅读全文