名词解释题
函数模板:一个带类属参数的函数。
类模板:一个带类属参数的类
模板函数:通过参数实例化可以再构造出具体的函数。
模板类:通过参数实例化可以再构造出具体的类。
填空题
(1) 函数模板类模板
(2) template
(3) class typename
(4) 类属参数类似
(5) 没有
(6) 类模板
(7) 顺序容器关联容器
(8) 输入迭代器输出迭代器前向迭代器双向迭代器随机访问迭代器选择题
(1) A (2) A (3) AB (4) C (5) ABD
判断题
(1) t (2) f (3) t (4) f (5) f
程序设计题
(1)(xt7_1.cpp)
(2)(xt7_2.cpp)
第8章习题答案
填空题
(1) 流流类
(2) 标准输入
(3) cin cout cerr clog
(4) fstream.h
(5) ios类的成员函数使用控制符
(6) 顺序文件随机读写文件
(7) 输入文件流输出文件流输入/输出文件流
(8) 一个指定的文件
(9) 0
(10) read write
选择题
(1)B (2) A (3) BCD (4)C (5) A (6) C (7) AB (8) AD BC
(9)D (10) B (11)A (12) BC (13) C (14)C (15)BCD (16) C
判断题
(1) f (2) t (3)t (4)f (5) t (6) f
简答题
(1)
从流类库的基本结构可以看到,ios类是istream类和ostream类的基类,从ios类公有派生istream和ostream两个类,而iostream类通过多重继承istream类和ostream类而产生的。如果不将ios类作为其派生类的虚基类,可能会产生二义性。
(2)
在文本文件中,每个字节存放一个ASCII代码表示一个字符,文本文件的优点是可直接按字符形式输出,供人们阅读。二进制文件则是把数据的内部存储形式原样存放到文件中,这种文件的优点是与数据在内存中的存储形式保持一致,因此存储效率高,无须进行存储形式的转换,但不能直接按字符形式输出。对于那些保存中间运算结果的临时工作文件,使用二进制形式较为合理。
程序分析题
输出结果:
Hello,students!
Welcome you to oop!
程序设计题
(1)参考程序:
#include
class Fraction
{
public:
Fraction(int x=0,int y=1);
friend ostream& operator<<(ostream&,Fraction);
private:
int den; //分子
int num; //分母
};
Fraction::Fraction(int x,int y)
{
den=x;
num=y;
}
ostream& operator<<(ostream& os,Fraction fr)
{
os< return os; } int main() { Fraction fenshu(2,3); cout<<"fenshu= "< return 0; }