C++类与对象编程实践示例

315、为一个名为Circle的类声明构造函数和showData()成员函数的实现部分,该类有整数数据成员xcenter和ycenter,以及双精度数据成员radius。

以下是对应的构造函数和 showData() 成员函数的实现部分示例:

#include <iostream>

class Circle {
public:
    // 构造函数
    Circle(int x = 0, int y = 0, double r = 0.0) : xcenter(x), ycenter(y), radius(r) {}

    // 显示数据的成员函数
    void showData() {
        std::cout << "圆心坐标: (" << xcenter << ", " << ycenter << ")" << std::endl;
        std::cout << "半径: " << radius << std::endl;
    }

private:
    int xcenter;
    int ycenter;
    double radius;
};

316、找出以下类声明部分的错误:class employee { public: int empnum; char code; private: class(int = 0); void showemp(int, char); };

此声明存在语法错误。 class(int = 0); 不符合 C++ 语法规则,不清楚其意图。若想定义构造函数,应使用类名 employee ;若定义普通函数,需给出有效的返回类型和函数名。正确的构造函数声明类似 employee(int = 0);

317、构建一个名为 Rectangle 的类,该类具有双精度数据成员 length 和 width。该类应具有名为 perimeter() 和 area() 的成员函数,用于计算矩形的周长和面积;名为 setData() 的成员函数,用于设置矩形的长和宽;以及名为 showData() 的成员函数,用于显示矩形的长、宽、周长和面积。

以下是实现该类的 C++ 代码示例:

#include <iostream>
class Rectangle {
private:
    double length;
    double width;
public:
    // 设置矩形的长和宽
    void setData(double l, double w) {
        length = l;
        width = w;
    }
    // 计算矩形的周长
    double perimeter() {
        return 2 * (length + width);
    }
    // 计算矩形的面积
    double area() {
        return length * width;
    }
    // 显示矩形的长、宽、周长和面积
    void showData() {
        std::cout << "Length: " << length << std::endl;
        std::cout << "Width: " << width << std::endl;
        std::cout << "Perimeter: " << perimeter() << std::endl;
        std::cout << "Area: " << area() << std::endl;
    }
};

上述代码定义了一个 Rectangle 类,包含 length width 两个双精度数据成员,以及 setData perimeter area showData 四个成员函数,满足题目的要求。

318、为名为IntDate的类编写一个类定义。声明部分应该有一个用单个整数表示日期的数据成员。例如,如果日期以年/月/日的形式存储,像11/23/12这样的日期将存储为20121123。以这种形式存储日期有什么优点?

类定义如下:

// 声明部分
class IntDate {
private:
    int date; // 用单个整数表示日期
public:
    // 函数原型
}; // 类声明结束

以这种形式存储日期的优点是方便比较日期大小,能快速判断日期先后顺序;在进行日期的加减等运算时,可能更便于编程实现;并且占用的存储空间相对较小。

319、a. 构建一个名为Rectangle的类,该类有两个双精度数据成员,分别名为length和width。该类应具备以下类函数:i. 一个构造函数,长度和宽度数据成员的默认值均为1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值