摘要:
7.4.0 类定义时的处理流程 先编译成员的声明 所有成员可见后,编译函数体 7.4.1 一般的名字查找流程 在所在块内寻找声明,只找名字之前的部分 没找到则去外层作用域找 7.4.2 类成员的名字查找 同一般的名字查找流程,现在类内找,没找到再去外层找 typedef double Money; 阅读全文
摘要:
7.5.1 构造函数初始化值列表 初始化与赋值 观察下面两段构造函数的代码 //初始化bookNo,units_sold,revenue Sale_data(const String &s, unsigned cnt, double price) : bookNo(s), units_sold(cn 阅读全文
摘要:
7.1.1 定义Sale_data类 目标代码 弄懂下面的代码 #include<iostream> using namespace std; struct Sale_data{ //关于Sale_data对象的操作函数 string ibsn() const {return bookNo;} Sa 阅读全文
摘要:
7.2.0 目标代码 #include<iostream> using namespace std; class Sale_data{ //为Sale_data的非成员函数所做的友元声明 friend istream &read (istream &, Sale_data &); friend os 阅读全文
摘要:
使用函数指针 声明函数指针:int (*fp)(int, int); fp是一个指针,指向一个函数 函数的形参是两个int,返回类型是int 函数名作为值使用时,会自动转换为指针类型,取值符是可选的 int f(int, int); fp = f; fp = &f; 调用函数指针时,解引用符号是可选 阅读全文
摘要:
6.1.1 局部变量 变量分类 变量类型 作用域 生命期 初始化 全局对象 整个程序 整个程序 默认初始化 自动对象 块作用域 声明时自动创建,出作用域后自动销毁 默认初始化 局部静态对象 块作用域 整个程序 值初始化 自动变量会多次创建和初始化,全局对象和局部静态变量只会创建和初始化一次 值初始化 阅读全文
摘要:
6.5.1 默认实参 某些函数有这样一种形参,在函数的很多次调用中它们都被赋予一个相同的值,此时,我们把这个反复出现的值称为函数的默认实参(default argument)。调用含有默认实参的函数时,可以包含该实参,也可以省略该实参。 例如,我们使用string对象表示窗口的内容。一般情况下,我们 阅读全文
摘要:
基本介绍 和其他变量一样,形参的类型决定了形参和实参交互的方式。 当形参是引用类型时,我们说它对应的实参被引用传递(passed by reference)或者函数被传引用调用(called by reference)。和其他引用一样,引用形参也是它绑定的对象的别名;也就是说,引用形参是它对应的实参 阅读全文
摘要:
6.4.1 重载与const 重载与const形参 参数调用时会忽略顶层const,而不会忽略底层const // 重复声明了lookup void lookup(int i); void lookup(const int i); // 重复声明了lookup void lookup(int *i) 阅读全文