C/C++ 教程

C/C++ 面向对象

面向对象的核心是把数据和操作数据的方法放在一起,对外只暴露必要的入口。

先看一个最小可用的例子:一个只保存名字并提供问候方法的类型。

#include <string>

class Person {
public:
    explicit Person(const std::string& name) : name_(name) {}
    std::string Greet() const { return "Hello " + name_; }
private:
    std::string name_;
};

至于要不要用继承,判断标准很简单:共享的是行为还是仅仅是字段?只是字段的话,组合更省事。