首页 > 解决方案 > c++中成员函数重载的问题

问题描述

我对构造函数和成员函数有疑问。当我尝试编译程序时,它显示:错误:

'int Vehicle::range()' 不能被重载。

在这种情况下我该怎么办?

#include <iostream>

using namespace std;

class Vehicle{
public:
    int passengers;
    int fuelcap;
    int mpg;
    int range();
    Vehicle(int p,int f,int m);
    int range();
};

Vehicle::Vehicle(int p,int f,int m){
    passengers=p;
    fuelcap=f;
    mpg=m;
}

int Vehicle::range(){
    return mpg*fuelcap;
}

我没有显示主要功能,因为问题必须在这里。

我预计输出为 336 和 168。

标签: c++

解决方案


你在Vehicle::range类体内声明了两次:

int range();
Vehicle(int p,int f,int m);
int range();

删除第二个,它应该可以工作。

是一个最小的例子,复制你得到的错误。


推荐阅读