用c sport类写一个
时间: 2024-09-16 12:00:55 浏览: 34
在C++中,如果你想要创建一个表示运动项目的类,比如`Sport`,你可以这样做:
```cpp
class Sport {
public:
// 构造函数
Sport(const std::string& name, int level) : name(name), level(level) {}
// 成员变量
std::string name; // 运动名称
int level; // 级别(例如初学者、中级、高级)
// 公共方法
void startPractice() {
std::cout << "开始练习 " << name << "..." << std::endl;
}
virtual void improveLevel() {
level++;
std::cout << "技能提升,现在 " << name << " 的级别是 " << level << std::endl;
}
protected:
// 保护成员方法,防止直接访问
void advancedTechnique() {
std::cout << "学习高级技术..." << std::endl;
}
};
// 子类示例 - 足球
class Football : public Sport {
public:
Football(const std::string& teamName, int level) : Sport("足球", level), team(teamName) {}
std::string getTeam() const { return team; } // 添加特定于足球的信息
private:
std::string team; // 所属球队
};
int main() {
Sport* soccer = new Football("巴塞罗那", 1); // 使用基类指针引用子类对象
soccer->startPractice();
soccer->improveLevel(); // 调用虚函数实现多态
delete soccer;
return 0;
}
```
在这个例子中,`Sport`是一个基类,`Football`是它的派生类。`startPractice()`和`improveLevel()`是公共方法,可以在所有继承自`Sport`的类中重写。`advancedTechnique()`是保护成员方法,仅限于派生类内部访问。
阅读全文