派生类中的未定义引用

问题描述 投票:-1回答:1

[您好,我正在为一个学校项目工作,终端中的编译器似乎给了我错误'未定义对我班级的引用。它与ctor和默认ctor有关吗?对于如何解决这个问题,有任何的建议吗?谢谢!

#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;
}
c++ function class pass-by-reference derived-class
1个回答
0
投票

Tennis的唯一构造函数需要一个bool。但是,您尝试构造一个名为Tennist1,而不将bool传递给构造函数。

而且,您说的是Sports的构造函数,不带任何参数。但是没有一个。

© www.soinside.com 2019 - 2024. All rights reserved.