适合有C基础后快速上手C++

C++面向对象,C面向过程。说白了,C++有工具可以调用,而C只能自己写。

C++的类,可以看出C语言结构体的升级版。类的成员不仅可以是变量,也可以是函数。

对象

对象是什么

什么是对象?对象是类的实例化。类定义出来的变量就是对象。

如何定义对象

直接定义,像C语言定义变量一样,直接定义一个就好。对象,就类似于C语言的变量。

或者new一个(相当于malloc动态内存申请)在堆里面定义。

如图

如何删除对象?

使用对象使用delete,只能删除new出来的对象。相当于C语言中的malloc后的free。

类的简单入门

如何访问类里的成员?

和C语言结构体的访问相同。

普通变量通过.访问。指针变量通过箭头

类的函数成员

类里面的成员不仅可以是变量,也可以是函数,

1.首先在类里面声明。

2.实现这个函数,可以直接写在类里面,也可以写在类的外面。

student::表示是这个student类里面的函数。

访问函数和访问变量的方式是一样的。这个功能可以通过C语言的函数指针实现。

类的访问修饰符

类函数的重载特性

在类里面定义同名函数,但是参数不同的函数。会根据参数类型,自动匹配函数

构造函数和析构函数

可写可不写,根据实际需求编写。

析构函数:如果定义了析构函数,当对象被删除或者生命周期结束时,就会触发析构函数。

return 0也会调用析构函数。

delete会调用析构函数。

构造函数:如果定义了对象,就会触发构造函数。

创建对象后就会指向构造函数。

析构函数和构造函数的名字必须和类名一模一样。

析构函数要在前面加上一个~

构造函数可以重载,析构函数不能重载。

类的继承

类的继承允许我们在新的类里面继承父类的public还有protected部分,private是不能被继承。当我们觉得这个类不好的时候,可以使用类的继承,添加我们需要的功能。

如何在子类里面访问父类的成员,也是通过.和->来访问的。

类似于C语言中的结构体嵌套结构体。

虚函数和纯虚函数

虚函数:有实际定义的,允许派生类对他进行覆盖式的替换,virtual来修饰。相当于C语言weak一个函数

纯虚函数:没有实际定义的虚函数就是纯虚函数。相当于C语言中weak一个空函数

怎么定义一个虚函数?

用virtual来修饰,虚函数就是用在类的继承上的。

就是你有就用你的,没有我也可以提供给你。

相关推荐
liangshanbo12152 分钟前
面试题:线上 JavaScript 报错如何快速定位到源码?
开发语言·javascript·ecmascript
ShineWinsu12 分钟前
对于Redis:Steam、Geospatial、Hyperloglog、Bitmap、Bitfield类型的解析
数据库·c++·redis·分布式·缓存·面试·zset
weixin_4407305025 分钟前
迭代器Iterator(列表生成器、可迭代的如何生成迭代器)
开发语言·python
朝朝辞暮i31 分钟前
C++ 第 31C 课:Subscriber 到底是什么
开发语言·c++·算法
weixin_440730501 小时前
内置函数、json文本、pickle二进制
开发语言·python·json
殷色玫瑰1 小时前
C++ string类详解:常用接口、字符串操作与模拟实现
java·linux·c语言·开发语言·数据结构·c++
李游Leo1 小时前
HarmonyOS 7 + Spatial Recon Kit-C++:3DGS 高斯参数的非有限值隔离与可渲染性门禁【鸿蒙心迹】
开发语言·c++·3d·harmonyos
时间的拾荒人2 小时前
Qt 文件操作详解:从基础类到读写实战
开发语言·qt·面试
Wang's Blog2 小时前
Java 项目实战: 外卖平台优化-YApi接口管理平台与文档导入导出
java·开发语言·yapi
jimy12 小时前
基类没有虚析构函数,基类指针删除派生类对象,行为是未定义的
开发语言·c++