成员函数的一种 (1)名字与类名相同,可以有参数,不能有返回值(void也不行) (2)作用是对对象初始化,如给成员变量赋初值 (3)如果定义类时没写构造函数,则编译器生成一个默认的无参数的构造函数(默认构造函数无参数,不做任何操作) (4)如果定义了构造函数,则编译器不会生成一个默认的无参数的构造函数 (5)对象生成时构造函数自动调用.对象一旦生成,就再也不能在其上执行构造函数 (6)一个类可以有多个构造函数 构造函数的作用 使用例 构造函数在数组中的使用…
visual studio结果 dev c++结果 两者的输出有所不同 原因:dev c++编译对这个过程进行了优化,因为直接return对象给a,为节省时间所以不生成临时对象,所以结果为10. 注:一般情况下此优化并无问题,因一般复制函数很少会如图中所示对临时对象进行操作.…
示例函数 注:输出并不一定从main函数开始,如全局对象的初始化在main函数前执行,如构造函数中存在输出,则从构造函数的输出开始 此处6被类型转换构造函数的存在转换为临时对象赋值,而在这个过程结束后临时对象消亡则调用析构函数 注2:局部变量生存期是碰到函数开始到最内存函数右边花括号 注3:静态局部变量则会留存到整个程序结束 注4:构造函数并非分配变量的存储空间,而是负责初始化,而析构函数也不负责收回变量的存储空间 注5:new的对象如果不用delete删除则不会消亡,不会触发析构函数,即使整个…
C++Primer第五版习题解答---第二章 ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2020/1/9 第二章:变量和基本类型 练习2.1: 类型int,long,long long和short的主要区别是所占据的比特数不同. 无符号数的所有比特都用来表示数据,只可以表示非负数:有符号数可以表示负数,8比特signed int 的表示区间是-128~12. double比float类型精度更高,一般双精度浮点数和单精度浮点数的计算代价相差无…
性质 (1)只有一个参数,即被同类对象的引用. 注 起作用的三种情况 注 常量引用参数…
使用例 析构函数 使用例 析构函数和数组 delete运算符导致析构函数的调用…
隐藏的概念 隐藏的作用 使用例 成员函数的重载与缺省(附使用例) 注意事项…
类的成员函数可和类的定义分开写 类成员的可访问范围(private,public,protected) 具体使用方法 使用例…
<C++Primer>第五版习题答案--第五章[学习笔记] ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2020/1/15 第五章:语句 练习5.3: 代码可读性降低了. while(val<=10) sum+=val,++val; 练习5.4: iter未初始化. if语句中的status超过作用范围,且status在while中进行了判断. 练习5.5: #include<iostream> #include<ve…
C++ Primer Plus 第二章 开始学习C++ 知识点梳理 本章从一个简单的C++例子出发,主要介绍了创建C++程序的步骤,以及其所包含的预处理器编译指令.函数头.编译指令.函数体.注释等组成部分,说明了C++的基本代码风格及书写规则,对变量.函数.类的声明以及使用进行了阐述. 重点知识回顾 C++程序从main()函数开始,其中函数由函数头和函数体组成,函数头中包含函数所需的参数类型和函数的返回值类型,函数体是位于花括号中的C++语句.如下main()与普通函数没有区别,只不过其是由启…