C++学习笔记
1、一个可执行文件的cpp文件中一个函数只能被定义一次。如果你把函数定义在一个.h文件中并让两个cpp包含就会造成这个函数分别在两个cpp中被定义产生错误。但是inline函数是允许在多个cpp中多次定义的,就解决了这个问题
2、数组没有直接的获取数组长度的函数,如果想获取需要:sizeof(arr)/sizeof(arr[0])
3、指针记录的是另一个对象的地址,例如,
int *p=$x;
其中p中存的是x的地址,*p存的是x的值,&p存的是p的地址。(在一个函数中声明的参数如果是指针,则对应的就是需要传入地址)
4、指针和引用都是按地址传递的。只是引用传递的相当于是一个对象的“别名”,也会更改该对象。(引用只可以被定义,不可以被赋值,即必须在定义的时候初始化)
5、常量指针:指向一个常量的指针,指向的对象不能通过该指针来修改,但是可以通过该对象修改
指针常量:指向一个指针的常量,它必须初始化值,并且不能再指向别的对象(从一而终)
6、delete释放的只是指针指向的对象,而该指针没有被释放,需要将其赋值为null或者0
7、指针数组、数组指针、函数指针、指针函数
8、在类向导里面,可以设置工具栏和状态栏的按钮的事件,也可以为其他的控件添加变量;
9、其中_T就是一个数据类型转换
10、虚函数和纯虚函数
有纯虚函数的类被称为抽象类,不可以被继承,只是声明,在子类中必须被重写;例如virtual void jump()=0;
虚函数:可以被实例化,也可以被重写。
11、关于struct和class
关于使用大括号初始化
class和struct如果定义了构造函数的话,都不能用大括号进行初始化
如果没有定义构造函数,struct可以用大括号初始化。
如果没有定义构造函数,且所有成员变量全是public的话,可以用大括号初始化。
关于默认访问权限
class中默认的成员访问权限是private的,而struct中则是public的。
关于继承方式
class继承默认是private继承,而struct继承默认是public继承。

浙公网安备 33010602011771号