C++中的抽象类和接口

简介: C++中的抽象类和接口

面向对象中的抽象类

1.可用于表示显示世界中的抽象概念

2.是一种只能定义类型,而不能产生对象的类

3.只能被继承并重写相关函数

4.直接特征就是相关函数没有完整实现

5.抽象类不能创建对象,只能用于继承

6.C++中没有抽象类的概念

7.C++中通过纯虚函数实现抽象类

8.纯虚函数时指只定义原型的成员函数

9.一个C++类中存在存虚函数就成为了抽象类

class Shape
{public:
virtual double area()=0;--------->“=0”用于表示当前是声明纯虚函数,因此不需要定义函数体
};
class Circle:public Shape
{
int mr;
public :
  Circle(int r)
  {
   mr=r;
   } 
double area(){
return 3.14*mr*mr;
}
}
void area(Shape* p)
{
double r=p->area();
cout<<"r = "<<r<<endl;
}//---------->这里会发生多态的现象-----》通过抽象类的指正来调用纯虚函数

注意:

1.抽象类只能用作父类继承

2.子类必须实现纯虚函数的具体功能

3.纯虚函数被实现后成为虚函数

4.如果子类没有实现纯虚函数,则子类成为抽象类,不能创建对象


接口:(直接的说---接口是一组行为的规范,是一种函数原型)

1.类中没有定义任何的成员变量

2.所有的成员函数都是共有的

3。所有的成员函数都是纯虚函数

4.接口是一种特殊的抽象类

相关文章
|
2月前
|
设计模式 算法 测试技术
C++ 创建兼容多个IPC机制的上层接口
C++ 创建兼容多个IPC机制的上层接口
60 1
|
13天前
|
C语言 C++ 容器
探索c++:string常用接口 迷雾
探索c++:string常用接口 迷雾
37 0
|
13天前
|
缓存 编译器 API
NumPy与其他语言(如C/C++)的接口实践
【4月更文挑战第17天】本文介绍了NumPy与C/C++的接口实践,包括Python与C/C++交互基础、NumPy的C API和Cython的使用。通过案例展示了如何将C++函数与NumPy数组结合,强调了内存管理、类型匹配、错误处理和性能优化的最佳实践。掌握这些技能对于跨语言交互和集成至关重要。
|
20天前
|
C++
C++面向对象编程中的 纯虚函数 与 抽象类
C++面向对象编程中的 纯虚函数 与 抽象类
|
29天前
|
C++
C++示例(电脑组装)展现C++多态的优势以及虚函数抽象类的应用
C++示例(电脑组装)展现C++多态的优势以及虚函数抽象类的应用
|
2月前
|
算法 测试技术 数据处理
【C++ 设计思路】优化C++项目:高效解耦库接口的实战指南
【C++ 设计思路】优化C++项目:高效解耦库接口的实战指南
75 5
|
2月前
|
监控 Linux 编译器
Linux C++ 定时器任务接口深度解析: 从理论到实践
Linux C++ 定时器任务接口深度解析: 从理论到实践
78 2
|
2月前
|
安全 物联网 测试技术
C++ 构建通用的MQTT接口:从理论到实践
C++ 构建通用的MQTT接口:从理论到实践
192 2
|
2月前
|
存储 移动开发 安全
【C/C++ 口语】C++ 编程常见接口发音一览(不断更新)
【C/C++ 口语】C++ 编程常见接口发音一览(不断更新)
23 0
|
2月前
|
设计模式 算法 C语言
【C/C++ 程序设计】 C++如何适配他人的接口(How to Adapt to Others‘ Interfaces in C++)
【C/C++ 程序设计】 C++如何适配他人的接口(How to Adapt to Others‘ Interfaces in C++)
75 1