摘要: 如果两种类型可以相互转换,它们就是关联的。c++语言不会直接将两种不同类型的值相加,而是先根据类型转换规则及那个运算对象的类型统一后再求值。 1、隐式转换 隐式转换的类型转换是自动执行的,无须程序员介入。在下面的情况下,编译器会执行隐式转换: 大多数表达式中,比int类型小的整型值首先提升为较大的整 阅读全文
posted @ 2018-02-22 16:43 StormWendy 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 目前为止我们学过静态内存和栈内存,分配在其中的对象由编译器自动创建和销毁, 静态内存:用来保存局部static对象、类的static数据成员、以及定义在任何函数体之外的变量。在对象使用之前分配,程序结束时销毁。 栈内存:用来保存定义在函数内的非static对象。仅在对象定义的程序块运行时存在,程序块 阅读全文
posted @ 2018-02-20 23:25 StormWendy 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 1、构造函数 构造函数的任务是初始化类对象的数据成员,无论何时只要类的对象被创建,就会执行构造函数。 构造函数名与类名相同 没有返回类型 可以重载 不能声明成const 1.1、合成的默认构造函数 如果我们没有为类显式的定义构造函数,编译器会为我们隐式的定义一个默认构造函数(不需要任何参数)又叫做合 阅读全文
posted @ 2018-02-19 15:13 StormWendy 阅读(547) 评论(0) 推荐(0) 编辑
摘要: 1、声明和定义的关系 声明使得名字为程序所知,一个文件如果想使用别处定义的名字必须包含对那个名字的声明。变量声明规定了了变量的类型和名字,定义除了这一点相同外,还为变量申请存储空间,也可能为变量赋初始值。如果想声明一个变量而非定义它,就在变量名前面添加关键字extern,而且不要显示初始化变量: e 阅读全文
posted @ 2018-02-19 14:24 StormWendy 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 定义一个类 struct Sales_data{ std::string isbn()const ; Sales_data& combine(const Sales_data&); std::string bookNo; unsigned units_sold=0; double revenue=0 阅读全文
posted @ 2018-02-16 11:15 StormWendy 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 分离式编译允许将程序分割到多个文件中去,每个文件独立编译。如果修改了其中一个源文件,那么只需要单独编译此源文件,但如果修改了头文件,所有文件都要重新编译。例如,将函数的声明放在头文件中,函数的定义放在一个源文件中,另一个源文件用到这个函数时,只需要包含函数声明的头文件而不需要包含函数定义的源文件。 阅读全文
posted @ 2018-02-12 13:20 StormWendy 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 预处理器是运行于编译之前的一段程序,如#include预处理功能,当预处理器看到#include时,就会用指定的头文件内容替换#include。预处理器的一个作用就是可以保证头文件被多次包含仍能正常工作: 头文件class_a.h内容如下: #ifndef CLASS_A_H #define CLA 阅读全文
posted @ 2018-02-11 21:42 StormWendy 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 1、函数组成 一个函数的定义由4部分组成:返回值类型、函数名、0个或多个形参组成的参数列表、函数体。 1.1、函数调用和返回 函数的调用完成2项工作:一是用实参初始化函数形参,二是将控制权交给被调函数; 函数的return语句也完成2项工作:一是返回return语句的值,二是将控制权还给主调函数。 阅读全文
posted @ 2018-02-09 12:14 StormWendy 阅读(255) 评论(0) 推荐(0) 编辑
摘要: C++中多维数组是指数组的数组: int ia[3][4][5];//a是一个大小为3的数组,它的每个元素是大小为4的数组,这些数组的元素又是都含有5个整数的数组。 对一个二维数组a[3][4]的引用: 1.用范围for语句 for (int (&p)[4] : a){//p是引用,引用一个含有4个 阅读全文
posted @ 2018-02-05 11:10 StormWendy 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 一、C风格字符串 C风格字符串将字符串放在字符数组中,并以空字符'\0'结束,一般利用指针来操作这些字符串。尽管C++支持C风格字符串,但在C++程序中最好不要使用它们。一些用于操作C风格字符串的标准库函数定义在cstring头文件中,是C语言头文件string.h的C++版本: strlen(p) 阅读全文
posted @ 2018-02-02 12:18 StormWendy 阅读(348) 评论(0) 推荐(0) 编辑