Skip to content

第五章 类和对象 v1.1 ​

第一部分 一个Box ​

cpp
#include <iostream>

class Box {
public:
    Box(int width, int height) : width_(width), height_(height) {}

    int area() const {
        return width_ * height_;
    }

private:
    int width_;
    int height_;
};

int main() {
    Box box(3, 4);
    std::cout << box.area() << '\n';
}

构造函数负责让对象在创建时处于可用状态;area() 不修改成员,所以标记为 const。

第二部分 资源管理先记住一点 ​

如果类直接持有动态资源,不要只补一个析构函数就结束。还要考虑复制、移动和异常安全;很多时候优先用 std::vector、std::string、智能指针等现成类型,避免手写所有权管理。

继承和虚函数不在这里先套模板,后面有实际需要再用独立例子记录。