【编程语法-C++】课堂总结29-30

纯虚函数

class Entity:
{
public:
    virtual std::string GetName() = 0; // 等于0让这个函数为纯虚函数
};

class Player : public Entity
{
private:
    std::string m_Name;
public:
    Player(const std::string& name) { m_Name = name}
    std::string GetName() override { return m_Name; }
};

// 当一个类中的纯虚函数没有被重载时,是不能进行实例化的
Entity e; // 会报错
Player p1; // 不会报错, 但当我们把Player的重载函数注释后也会报错,因为继承的纯虚函数也没有具体实现

接口

// 这个实际上就是一个接口, c++不存在像java那样的interface关键字
class Printable:
{
public:
    virtual std::string GetClassName() = 0; // 等于0让这个函数为纯虚函数
};

class Entity : public Printable
{
public:
    virtual std::string GetName() = 0; // 等于0让这个函数为纯虚函数
    std::string GetClassName() override { return "Entity"; }
};

class Player : public Entity, Printable
{
private:
    std::string m_Name;
public:
    Player(const std::string& name) { m_Name = name}
    std::string GetName() override { return m_Name; }
    std::string GetClassName() override { return "Player"; }
};

可见度和访问控制

private, protected, public.

通过控制这些以实现简化代码可读性。

全部评论

相关推荐

01-19 12:48
门头沟学院 C++
只想搞钱的鸽子很喜欢...:混账是很多的,还有那些在自己风华正茂的年纪说风凉话讥讽那些下岗前员工的。这些人都是现在职场环境这么烂的帮凶
点赞 评论 收藏
分享
喵_coding:年底缺人是短视频营造出来的 而且一般说的也很宽泛 不是特指后端
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务