C++接口

所谓的接口,即将内部实现细节封装起来,外部用户用预留的接口可以使用接口的功能而不需要知晓内部具体细节。接口描述了类的行为和功能,而不需要完成类的特定实现。
C++ 接口是使用抽象类来实现的,如果类中至少有一个函数被声明为纯虚函数,则这个类就是抽象类。纯虚函数是通过在声明中使用 “= 0” 来指定的。

虚函数和纯虚函数的语法规范:一个例子彻底搞懂C++的虚函数和纯虚函数

  • 1.在类成员方法的声明(不是定义)语句前面加个单词:virtual,就是虚函数;
  • 2.在虚函数的声明语句末尾中加个 =0 ,就是纯虚函数;
  • 3.子类可以重新定义基类的虚函数,我们把这个行为称之为复写(override);
  • 4.不管是虚函数还是纯虚函数,基类都可以为他们提供实现(implementation),如果有的话子类可以调用基类的这些实现;
  • 5.子类可自主选择是否要提供一份属于自己的个性化虚函数实现;
  • 6.子类必须提供一份属于自己的个性化纯虚函数实现。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++ 接口设计的主要目的是为了实现模块化和高内聚性,使得模块之间的依赖关系更加清晰,易于维护和扩展。以下是一些常用的 C++ 接口设计方法: 1. 抽象类接口设计方法:通过定义纯虚函数来实现接口定义,这样就可以实现多态性,并且不同的子类可以实现不同的行为。 ```c++ class IShape { public: virtual ~IShape() {} virtual double area() const = 0; virtual double perimeter() const = 0; }; ``` 2. 模板接口设计方法:通过模板参数来实现接口定义,这样可以使代码更加通用,具有更好的扩展性。 ```c++ template<typename T> class IContainer { public: virtual ~IContainer() {} virtual void add(T item) = 0; virtual void remove(T item) = 0; virtual bool contains(T item) const = 0; }; ``` 3. 回调接口设计方法:定义一个回调函数指针,让客户端提供一个回调函数实现,然后在对象内部使用回调函数来完成某个功能。 ```c++ class Button { public: typedef std::function<void()> Callback; Button(Callback cb) : callback(cb) {} void click() { callback(); } private: Callback callback; }; ``` 4. 观察者接口设计方法:定义一个观察者接口,让客户端实现观察者接口,然后在被观察者对象内部调用观察者的方法来通知客户端。 ```c++ class IObserver { public: virtual ~IObserver() {} virtual void update() = 0; }; class Subject { public: void attach(IObserver* observer); void detach(IObserver* observer); void notify(); private: std::vector<IObserver*> observers; }; ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值