关于抽象类

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

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

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

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

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

相关推荐
I_belong_to_jesus5 小时前
std::unique_ptr成员函数用法
c++
Tairitsu_H6 小时前
[C++] 拷贝构造还是赋值重载?类默认成员函数细节详解
开发语言·c++·类和对象
汉克老师7 小时前
GESP2026年9月认证C++四级( 第一部分选择题(1~7题)精讲
c++·gesp·小学生·学c++编程
geats人山人海7 小时前
现代c++第二章 字符串
c++
idealzouhu7 小时前
现代 CMake 依赖管理详解:从构建树、Target 封装到 find_package 工作原理
c++·cmake
四代水门8 小时前
游戏客户端——算法题
c++
Xia__Quan8 小时前
centos 共享文件夹
c++
hi_ro_a9 小时前
基于正倒排索引的boost搜索引擎
linux·c++·搜索引擎·项目
神仙别闹9 小时前
基于 C++ MFC 实现的个人通讯录管理系统
c++
GG-_-Bond9 小时前
9.1kv存储持久化模拟面试
linux·c语言·数据结构·c++