C++编写玫瑰花高级
时间: 2024-10-25 22:02:24 浏览: 19
VS2017-C++-玫瑰花编译绘制
在C++中编写一个简单的高级玫瑰花程序,我们可以创建一个抽象类`Rose`,然后设计几种具体的花类如`RedRose`, `WhiteRose`和`YellowRose`作为派生类。这将展示多态性和继承的概念。
```cpp
// 定义一个基础的抽象类 Rose
class Rose {
public:
virtual void showColor() const = 0; // 抽象方法,显示颜色
};
// 派生出具体的玫瑰花类
class RedRose : public Rose {
private:
std::string color;
public:
RedRose() : color("红") {}
void showColor() const override {
std::cout << "这是一朵红色的玫瑰:" << color << std::endl;
}
};
class WhiteRose : public Rose {
private:
std::string color;
public:
WhiteRose() : color("白") {}
void showColor() const override {
std::cout << "这是一朵白色的玫瑰:" << color << std::endl;
}
};
class YellowRose : public Rose {
private:
std::string color;
public:
YellowRose() : color("黄") {}
void showColor() const override {
std::cout << "这是一朵黄色的玫瑰:" << color << std::endl;
}
};
int main() {
Rose* roses[] = {new RedRose(), new WhiteRose(), new YellowRose()}; // 创建一个玫瑰数组
for (const auto& rose : roses) {
rose->showColor(); // 虽然我们有不同类型的具体玫瑰,但是统一通过Rose指针操作
}
delete[] roses; // 别忘了删除动态分配的对象
return 0;
}
阅读全文