net开发的网站开发网站,建瓯网站制作,怎么把网站提交给搜索引擎,国家建设部网站注册工程师人员查询接口
C中的接口#xff0c;一般就是指抽象类#xff0c;是一种用来描述类对外提供的操作、方法或功能的集合——注意#xff0c;一般只是描述#xff08;声明#xff09;#xff0c;而不对这些方法或功能进行定义实现#xff0c;通常在类的继承或多态中作为基类使用中的接口一般就是指抽象类是一种用来描述类对外提供的操作、方法或功能的集合——注意一般只是描述声明而不对这些方法或功能进行定义实现通常在类的继承或多态中作为基类使用这种用法也与其特性有关。值得一提的是接口中的方法或功能一般需要在派生类中进行重写定义实现。
抽象类
C的接口通常是使用抽象类来实现的而什么是抽象类呢
抽象类一般指的是包含一个或多个纯虚函数的类。
至于纯虚函数的概念和实现方法可参考上一章节的内容C 纯虚函数定义语法及作用。
重点提示因为抽象类无法被实例化而且一般作为基类使用所以通常不需要定义构造函数实际上基类的构造函数也不会被派生类所继承。
接口的作用
C的接口最主要的作用个人理解就是作为基类使用。想象一下如果某个C的项目中已经声明好了很多很有用的接口那么很多程序就可以使用接口即插即用就比如计算机上的很多接口这里单单举一个USB的接口作为例子当我们需要使用鼠标的时候可以通过将鼠标连接到USB接口即可如果需要外接的音响也可以通过USB接口来连接这同一个接口却实现了不同的功能因为鼠标和音响的实现的功能不同——就好比派生类对基类的方法成员函数的定义不同因此实现的功能不同。
接口实现的实例代码
下面实例中定义了一个抽象类作为接口并在其不同的派生类中进行定义得到不同的功能
virtual returnType funcName( args ) 0
纯虚函数实例代码
#include iostream
using namespace std;class Fruit{public:// 纯虚函数virtual void setData(string n, int p) 0;// 普通成员函数用于访问protected中的变量void getData(){cout name 价格 price endl;}protected:string name;int price;
};class Apple:public Fruit{public:// 定义继承自Fruit的纯虚函数并显式制定重写overridevoid setData(string n苹果, int p6) override {name n;price p;}};class Banana:public Fruit{public:void setData(string n香蕉, int p3) override{name n;price p;}
};int main(){Apple a;a.setData();Banana b;b.setData();a.getData();b.getData();return 0;
}
代码编译运行后得到输出
苹果价格6
香蕉价格3 原文C 接口的实现及作用通俗理解方式 免责声明内容仅供参考不保证正确性。