适合有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来修饰,虚函数就是用在类的继承上的。
就是你有就用你的,没有我也可以提供给你。