关于抽象类

  • 包含纯虚函数的类为抽象类(接口类)

  • 类和类之间具有共同特征,将这些共同特征抽取出来,形成的就是抽象类。

  • 如果一个类没有足够的信息来描述一个具体的对象,这个类就是抽象类。

  • 因为类本身就是不存在的,所以抽象类无法创建对象,也就是无法实例化。

  • 抽象方法不能是private的,且是纯虚函数

  • 抽象方法不能被final和static修饰,因为抽象方法要被子类重写

  • 抽象类必须被继承,并且子类要重写父类的抽象方法,否则子类也是抽象类,

日志系统中的日志落地抽象类

cpp 复制代码
	class Sink
    {
    public:
        using ptr = std::shared_ptr<Sink>;
        Sink() {}
        virtual ~Sink(){};
        virtual void Log(const char *data, size_t len) = 0;
    };

    class StdoutSink : public Sink
    {
    public:
        void Log(const char *data, size_t len) override
        {
            std::cout.write(data, len);
        }

    };

http://t.csdnimg.cn/oGYbQ
http://t.csdnimg.cn/QGAmC

相关推荐
沉默-_-1 天前
力扣hot100滑动窗口(C++)
数据结构·c++·学习·算法·滑动窗口
斐夷所非1 天前
C++ 继承、多态与类型转换 | 函数重载 / 隐藏 / 覆盖实现与基派生类指针转换
c++
gfdhy1 天前
【C++实战】多态版商品库存管理系统:从设计到实现,吃透面向对象核心
开发语言·数据库·c++·microsoft·毕业设计·毕设
清酒难咽1 天前
算法案例之分治法
c++·经验分享·算法
小屁猪qAq1 天前
强符号和弱符号及应用场景
c++·弱符号·链接·编译
头发还没掉光光1 天前
HTTP协议从基础到实战全解析
linux·服务器·网络·c++·网络协议·http
jojo_zjx1 天前
GESP 24年12月2级 数位和
c++
自由的好好干活1 天前
PCI9x5x驱动移植支持PCI9054在win7下使用3
c++·驱动开发
WBluuue1 天前
数据结构与算法:dp优化——优化尝试和状态设计
c++·算法·leetcode·动态规划
睡不醒的kun1 天前
定长滑动窗口-基础篇(2)
数据结构·c++·算法·leetcode·职场和发展·滑动窗口·定长滑动窗口