C++新手问题,请大虾帮忙
#include <iostream.h>
class vehicle
{
int wheels;
float weight;
public:
void message(void) {cout << "Vehicle message\n";}
};
class boat : public vehicle
{
int passenger_load;
public:
int passengers(void) {return passenger_load;}
void message(void) {cout << "Boat message\n";}
};
void main()
{
boat sailboat;
sailboat.message();
}
这个语句不会产生歧义吗?不用使用::符号?
参考答案:不会,当子类中函数名与父类相同时,默认调用的是子类的函数.你用sailboat.message();调用的是子类的message();如果你想调用父类的message();函数则要这样写sailboat.vehicle::message();