关于抽象类

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

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

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

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

  • 抽象方法不能是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

相关推荐
-To be number.wan7 小时前
C++ 赋值运算符重载:深拷贝 vs 浅拷贝的生死线!
前端·c++
XXYBMOOO8 小时前
内核驱动开发与用户级驱动开发:深度对比与应用场景解析
linux·c++·驱动开发·嵌入式硬件·fpga开发·硬件工程
SoveTingღ12 小时前
【问题解析】我的客户端与服务器交互无响应了?
服务器·c++·qt·tcp
温宇飞12 小时前
内存异常
c++
挖矿大亨14 小时前
C++中深拷贝与浅拷贝的原理
开发语言·c++·算法
Bruce_kaizy15 小时前
c++图论——生成树之Kruskal&Prim算法
c++·算法·图论
雾岛听蓝16 小时前
C++:模拟实现string类
开发语言·c++
XFF不秃头16 小时前
力扣刷题笔记-合并区间
c++·笔记·算法·leetcode
编程之路,妙趣横生16 小时前
STL(七) unordered_set 与 unordered_map 基本用法 + 模拟实现
c++
寂柒16 小时前
c++--
c++