August 2021
Intermediate to advanced
450 pages
9h 36m
Chinese
1.定义template<typename T>struct S{T val;};。
2.添加构造函数,使得能够对T初始化。
3.定义S<int>、S<char>、S<double>、S<string>和S<vector<int>>类型的变量,并将其初始化。
4.读取并打印上述变量的值。
5.添加函数get(),该函数返回对val的引用。
6.在类之外编写get()的定义。
7.将val设为私有成员。
8.通过get()函数完成练习4中的任务。
9.添加函数模板set()以能够改变val。
10.通过S<T>::operator=(const T&)取代set()。提示:比14.2.5节更简单。
11.编写get[]的const版本和非const版本。
12.定义函数template<typename T>read_val(T&v),该函数能够将cin中读取的值写入v。
13.通过read_val()读取值,存入练习3中前四个变量。
14.加分题:为vector<T>定义输入和输出运算符(>>和<<)。两个运算符都使用{val,val,val,val}格式。这使得read_val()也能处理S<vector<int>>变量。
记住在每一步中对代码进行测试。
Read now
Unlock full access