摘要: 练习16.17 ::没有,当表示为一种类型的时候用typename 练习16.18 (a)违法,每个模板参数都要有一个typename或者class (b)非法,模板参数名为掩盖 (c)inline要写在返回类型前 (d)合法 (e)非法,这命名冲突 练习16.19 template<typenam 阅读全文
posted @ 2022-08-20 12:03 yddl 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 练习16.1 ::实例化就是模板通过实际调用而确定类型及其运算,抽象到具体 练习16.2 template <typename T> int compare(const T& v1,const T& v2) { if(v1<v2)return -1; if(v2<v1)return 1; retur 阅读全文
posted @ 2022-08-20 10:45 yddl 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 练习15.15 重新定义Bulk_quote class Disc_quote:public Quote{ public: Disc_quote()=default; Disc_quote(const std::string& book,double p,std::size_t qty,double 阅读全文
posted @ 2022-08-19 18:59 yddl 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 练习15.1 什么是虚成员? ::需要派生类自己定义的成员 练习15.2 protected访问说明符与private有何区别? ::protected允许派生类访问,private一律不允许访问 练习15.3 定义你自己的Quote类和print_total函数 class Quote{ publ 阅读全文
posted @ 2022-08-18 18:58 yddl 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 练习14.44 编写一个简单的桌面计算器使其处理二元计算 double add(double a,double b) { return a+b; } auto subtra=[](double a,double b){return a-b; }; struct multi{ double opera 阅读全文
posted @ 2022-08-18 10:46 yddl 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 练习14.26 为你的String类定义下标运算符 char& operator[](size_t d) { return elements[d]; } const char& operator[](size_t d)const { return elements[d]; } 练习14.27 为你的 阅读全文
posted @ 2022-08-17 20:59 yddl 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 练习14.10 对于Sales_data的输入运算符来说给定下面的输入会发生什么? (a)0-201-99999-9 10 24.95正常输入 (b)10 24.95 0-210-99999-9最后一个输入格式错误,会chongz 练习14.11 下面的Sales_data输入运算符存在错误吗?如果 阅读全文
posted @ 2022-08-17 14:14 yddl 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 练习14.1 在什么时候情况下重载的运算符与内置运算符有所区别?在什么时候重载的运算符又与内置运算符一样 ::为类设计的运算符,尽量重载的运算符含义不要改变,如+还是加法 练习14.2 为Sales_data编写重载的输入,输出,加法和复合赋值运算符 std::istream& operator>> 阅读全文
posted @ 2022-08-17 10:48 yddl 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 练习13.55 为你的StrBlob添加一个右值引用版本的Push_back void StrBlob::push_back(string&&s){data->push_back(std::move(s));} 练习13.56 如果sorted定义如下,会发生什么 Foo Foo::sorted() 阅读全文
posted @ 2022-08-16 21:10 yddl 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 练习13.49 为你的String类添加一个移动构造函数和一个移动赋值运算符 String(String&& a):elements(std::move(a.elements)),first_free(std::move(a.first_free)),cap(std::move(a.cap)){ a 阅读全文
posted @ 2022-08-16 16:42 yddl 阅读(57) 评论(0) 推荐(0) 编辑