c++primer第十二章习题 .pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c++primer第⼗⼆章习题 练习12.1 都是4个 练习12.2 #ifndef MYSTRBLOB_H #define MYSTRBLOB_H #include initializer_list #include memory #include stdexcept #include string #include vector class StrBlob { friend class StrBlobPtr; public: typedef std::vectorstd::string::size_type size_type; // constructors StrBlob() : data(std::make_sharedstd::vectorstd::string()) { } StrBlob(std::initializer_liststd::string il); // size operations size_type size() const { return data-size(); } bool empty() const { return data-empty(); } // add and remove elements void push_back(const std::string t) { data-push_back(t); } void pop_back(); // element access std::string front(); std::string back(); std::string front() const; std::string back() const; private: std::shared_ptrstd::vectorstd::string data; // throws msg if data[i] isnt valid void check(size_type i, const std::string msg) const; }; StrBlob::StrBlob(std::initializer_liststd::string il) : data(std::make_sharedstd::vectorstd::string(il)){} void StrBlob::pop_back() { check(0,pop_back on empty StrBlob); data-pop_back(); } void StrBlob::check(size_type i, const std::string msg)const { if (i = data-size()) throw std::out_of_range(msg); } std::string StrBlob::back() { check(0,back on empty StrBlob); return data-back(); } std::string StrBlob::front() { check(0, front on empty StrBlob); return data-front(); } std::string StrBlob::back() const{ check(0,back on empty StrBlob); return data-back(); } std::string StrBlob::front() const{ check(0, front on empty StrBlob); return data-front(); } #endif 练习12.3 不需要 对象内容改变不需要对象是const类型。 练习12.4 i是size_type⽆符号型整数 练习12.5 优点:可以隐式转换,可以赋值构造

文档评论(0)

. + 关注
官方认证
文档贡献者

专注于职业教育考试,学历提升。

版权声明书
用户编号:8032132030000054
认证主体社旗县清显文具店
IP属地河南
统一社会信用代码/组织机构代码
92411327MA45REK87Q

1亿VIP精品文档

相关文档