类是C++对于C的结构体扩展,通过结构体定义出来的变量还是叫变量,而通过类定义出来的变量有了新的名字,叫做对象。
可以将类比喻成图纸,对象比喻成零件,图纸说明了零件的参数(成员变量)及其承担的任务(成员函数);一张图纸可以生产出多个具有相同性质的零件,不同图纸可以生产不同类型的零件。
类只是一张图纸,起到说明的作用,不占用内存空间;对象才是具体的零件,要有地方来存放,才会占用内存空间。
在C++中,通过类名就可以创建对象,即将图纸生产成零件,这个过程叫做类的实例化,因此也称对象是类的一个实例(Instance)。
有些资料也将类的成员变量称为属性(Property),将类的成员函数称为方法(Method)。
C语言中,我们会把重复使用或具有某项功能的代码封装成一个函数,将拥有相关功能得多个函数放在一个源文件中,在提供一个对应的头文件,这就是一个模块。引入对应的头文件来使用相关模块。
C++中,多了一层封装,类(class)放入到一个源文件中,使用时引入对应的类就可以了
对于不带.h的头文件,所有的符号都位于命名空间std中,使用时需要声明命名空间std;对于带.h的头文件,没有使用任何命名空间,所有符号都位于全局作用于,这也是C++标准所规定的的。
using namespace std;有作用域的区别
cout和cin都是c++的内置对象,而不是关键字
在for内部定义循环控制变量i,会让代码看起来更加紧凑,并使得i的作用域被限制在整个for循环语句内部(包括循环条件和循环体),减小了命名冲突的概率
new和delete:分配一组连续的数据,可以使用new[],例如new int[10],而释放则用delete[] p
在C++中,建议使用new和delete来管理内存,它们可以使用C++的一些新特性,最明显的是可以自动调用构造函数和析构函数
默认函数:可以减少要定义的析构函数,方法以及方法重载的数量