摘要:
拷贝构造函数 系统自动生成的函数: 普通构造函数 拷贝构造函数 如果自己定义了普通构造函数,系统不会再自动生成普通构造函数; 如果自己定义了拷贝构造函数,系统不会再自动生成拷贝构造函数。 ***如果没有自定义的拷贝构造函数则系统自动生成一个默认的拷贝构造函数。 ***当采用直接初始化或者复制初始化实 阅读全文
摘要:
构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式。例如: 上面的例子中两个构造函数的结果是一样的。上面的构造函数(使用初始化列表的构造函数)显式的初始化类的成员;而没使用初始化列表的构造函数是对类的成员赋值,并没有进行显式的初始化。 初始化 阅读全文
摘要:
内存分区 栈区:int x = 0;int *p = NULL; 定义一个变量,定义一个指针时,会在栈区进行分配内存。分配的内存系统分配收回的,我们不用管。 堆区:int *p = new int[20]; 申请一块内存时,是在堆区进行的,用 new 申请,用 delete 删除,内存的调用需要程序 阅读全文
摘要:
类内定义与内联函数 像下面这种函数名与函数体都写在类里面的函数形式被称作类内定义,编译器编译的时候会把它默认成内联函数。 类外定义 成员函数的函数体写在类的外面,这样叫做类外定义。 类外定义分类: 同文件类外定义:函数的定义与函数体写在同一个文件里。 分文件类外定义:函数的定义与函数体写在不同的文件 阅读全文
摘要:
关于内联函数 关键字:inline C++ 内联函数是通常与类一起使用。如果一个函数是内联的,那么在编译时,编译器会把该函数的代码副本放置在每个调用该函数的地方。 对内联函数进行任何修改,都需要重新编译函数的所有客户端,因为编译器需要重新更换一次所有的代码,否则将会继续使用旧的函数。 如果想把一个函 阅读全文
摘要:
C++ 数据封装 所有的 C++ 程序都有以下两个基本要素: 程序语句(代码):这是程序中执行动作的部分,它们被称为函数。 程序数据:数据是程序的信息,会受到程序函数的影响。 封装是面向对象编程中的把数据和操作数据的函数绑定在一起的一个概念,这样能避免受到外界的干扰和误用,从而确保了安全。数据封装引 阅读全文