派生类

#include<iostream> using namespace std; class shape { protected: double s; public: void show() { cout << "s= " << s << endl; } }; class rectangle : public shape { protected: double len, width; public: rectangle(double l = 1, double w = 1) : len(l), width(w) { s = len * width; } ~rectangle() {} void setrec(double l = 1, double w = 1) { if (l >= 0 && w >= 0) { len = l; width = w; s = len * width; } else { std::cerr << "Invalid input for rectangle dimensions" << std::endl; } } double getlen() const { return len; } double getwid() const { return width; } void show() { cout << "len=" << len << endl; cout << "width=" << width << endl; shape::show(); } }; int main() { rectangle r(10, 20); r.show(); r.setrec(5, 15); r.show(); }

class rectangle : public shape:定义了一个派生类 rectangle,继承自 shape 类。 protected double len, width;:声明了两个受保护的双精度浮点数,用于存储矩形的长度和宽度。 rectangle(double l = 1, double w = 1) : len(l), width(w) { s = len * width; }: 构造函数,使用成员初始化列表初始化 len 和 width。 计算并存储矩形的面积(通过 s = len * width),将其存储在从基类继承的 s 成员变量中。 ~rectangle() {}:析构函数,目前为空。 void setrec(double l = 1, double w = 1): 可用于重新设置矩形的长度和宽度。 包含输入验证:如果 l 和 w 都大于或等于 0,则更新 len、width 和 s;否则输出错误信息。 double getlen() const { return len; } 和 double getwid() const { return width; }: 定义了两个常量成员函数,分别用于获取矩形的长度和宽度。 const 关键字确保函数不会修改对象的状态。 void show(): 重载了基类的 show() 函数。 输出矩形的长度和宽度,然后调用基类的 show() 函数输出矩形的面积。

这部分是比较难的,现在我还不太明白。

全部评论

相关推荐

沉淀一会:1.同学你面试评价不错,概率很大,请耐心等待; 2.你的排名比较靠前,不要担心,耐心等待; 3.问题不大,正在审批,不要着急签其他公司,等等我们! 4.预计9月中下旬,安心过节; 5.下周会有结果,请耐心等待下; 6.可能国庆节前后,一有结果我马上通知你; 7.预计10月中旬,再坚持一下; 8.正在走流程,就这两天了; 9.同学,结果我也不知道,你如果查到了也告诉我一声; 10.同学你出线不明朗,建议签其他公司保底! 11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务