【发布时间】:2020-06-23 02:07:15
【问题描述】:
您好,我正在为学校做一个项目,终端中的编译器似乎给了我错误“未定义对我的班级的引用”。它与ctors和默认ctors有关吗?对于如何解决这个问题,有任何的建议吗?谢谢!
#include <iostream>
using namespace std;
class Sports{
public:
Sports();
Sports(int players, int medals = 0){
m_players = players;
m_medals = medals;
}
int getPlayers(){return m_players;}
bool getMedals(){return m_medals;}
friend bool compare(const Sports & lhs, const Sports & rhs){
return(lhs.m_players == lhs.m_players && rhs.m_medals == rhs.m_medals);
}
protected:
int m_players;
//private:
int m_medals;
};
class Tennis : public Sports{
public:
Tennis(bool experience){
m_experience = experience;
}
void RemovePlayers(){m_players--;}
void AddMedals(){m_medals++;}
private:
bool m_experience;
};
int main(){
Tennis t1;
return 0;
}
【问题讨论】:
-
您的问题存在一些问题:首先,说明问题的minimal reproducible example 是什么。减少你的代码,直到你有相同的、意外错误的最低限度。其次,你得到的实际错误是什么?您应该引用整个错误消息,另请参阅How to Ask。作为新用户,还要确保您使用tour。
-
想必你需要实现
Sports的默认构造函数
标签: c++ function class pass-by-reference derived-class