学习C++过程中,遇到的一些内容,觉得有必要记录下来,以供后用。
其中主要是之前用C语言,所以接触C++,有些内容不太习惯,因此记录C++中和C不同的,需要注意的部分内容。
对应的含义,用下表,可以很容易区分:
表 3.1. protected,public,private之间的区别
关键字 | |||
---|---|---|---|
Private 私有 | Protected 受保护 | Public 公有 | |
对应作用(允许谁访问) | 友元函数 | 友元函数 | 友元函数 |
该类自己的函数 | 该类自己的函数 | 该类自己的函数 | |
子类的函数 | 子类的函数 | ||
该类的对象 |
可以在调用函数的时候,不给那些带默认值的参数赋值,即调用函数时候,参数少了几个。
不过要注意的是,带默认值的参数,肯定都是从最右边的一个或几个。
类名::某一枚举变量值
而不是C语言中直接引用:某一枚举变量值
知道new要和delete配对使用。
直接定义变量:函数中的局部变量的话,在栈stack中分配,静态分配,函数调用完,自动释放内存,即编译器自己帮你释放内存,不需要你关心。
全局的话,应该和C语言中的没区别,就是普通全局变量,始终占用内容,会增加程序耦合度,在可以的情况下,应尽量少用。
用new生成的变量:动态分配,在堆heap中分配,所以要自己关心内存的使用,在不用此变量的时候,用delete释放内存,否则就产生了内存泄露,即有部分不再使用的变量存在于内存中,属于站着茅坑不拉屎的类型。
一般常见用法一直就是在类的构造函数中用new分配内存给某个变量,然后对应地在析构函数中用delete释放对应变量所占的内存。
同一个函数名,参数的个数和类型不同。
没啥多说的,只是自己不太熟悉,导致看到某个类B调用某个函数func1,结果在B类的定义中找不到,最后才发现原来是B类继承A类,A类中有public的函数func1,因此才有B可以调用func1。