`
strong_fee
  • 浏览: 179241 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

读《Primer Plus C++》第十一章 使用类

阅读更多

读《Primer Plus C++》第十一章 使用类

 

     重载

1.          不要返回指向局部变量或临时对象的引用。因为函数执行完后,局部变量或临时对象将消失,饮用将指向不存在的数据。

2.          操作符重载的形式为:Time operator+ (const Time & t) const;

3.          调用操作符重载的方法有两种:

a)          函数表示法:Time coding;

coding.operator+(t);

b)         操作数表示法:coding+t;

4.          重载限制

a)          重载后的操作符必须至少有一个操作符是用户定义的类型。

b)         不能违反操作符原来的句法规则,如不能将二元操作符重载为一元操作符。

c)          不能定义新的操作符和一些特殊的操作符如(sizeof , . , .* , :: ,?:,强制类型转换操作符)。

d)         有些操作符只能通过成员函数进行重载,如(=(),[],->

5.      操作符的左侧是调用对象

 

     友元(非成员函数,访问权限与成员函数相同)

1.      声明的形式:friend Time operator* (double m, const Time & t);

         友元函数的定义形式:Time operator*(double m, const Time & t){…};

2.        如果要为类重载操作符,并将非类的项作为其第一个参数,则可以用友元函数来反转操作数的顺序。还有一种解决操作数反转的办法是如: Time operator*(double m, const Time &t){return t*m}

3.        <<的重载

osream & operator<<(ostream &os,const c_name & obj){

           os<<…;

           return os;

}

     类的自动类型转换和强制类型转化

         只接受一个参数的构造函数定义了从参数类型到类类型的转换。如果使用关键字explicit(关闭自动特性),则Stonewt(double)将只用于显示强制类型转换,否则还可以用于下面的隐式转换:

         a)      Stonewt对象初始化为double值时。

         b)      double值赋值给Stonewt参数的函数时。

         c)      返回值被申明为Stonewt的函数试图返回一个double值时

         d)      double值传递给接受Stonewt参数的函数时

         e)      在上述任意一种情况下,使用可转换为double类型的内置对象时。

         对于e,当且仅当转换不存在二义性时,才会自动进行而不转换。

         explict Stonewt(double lbs);

分享到:
评论

相关推荐

    c++primer plus第七章到第十三章习题源码

    《C++ Primer Plus》是C++编程领域里一本经典的教程,涵盖了从基础语法到高级特性的广泛内容。从第七章到第十三章,这涵盖了类(classes)、对象(objects)、继承(inheritance)、多态(polymorphism)、模板...

    C++ Primer Plus 编程练习源码工程 第11章

    在本压缩包文件中,我们聚焦于"C++ Primer Plus"这本书的第11章编程练习。这是一份由用户LeonardoLiuwenbo在学习过程中编写的源代码工程,旨在帮助读者深入理解和应用C++语言。第11章通常涵盖C++中的高级主题,可能...

    C++ Primer Plus 第6版 中文版课后代码习题答案

    《C++ Primer Plus 第6版 中文版》是一本深入浅出的C++学习书籍,其课后代码习题答案是学习过程中不可或缺的部分。这本书旨在帮助读者从零基础开始掌握C++编程语言,通过实例和习题来巩固理论知识,提升编程技能。...

    C++ Primer Plus 第五版源程序

    《C++ Primer Plus 第五版源程序》是学习C++编程语言的重要参考资料,它包含了该经典教材中的所有示例代码和练习程序。这些源码旨在帮助读者深入理解C++的各种概念和技术,通过实际操作和调试代码,提升编程技能。...

    C++ Primer Plus 编程练习源码工程 第15章

    《C++ Primer Plus 编程练习源码工程 第15章》是针对C++初学者的一个宝贵资源,它包含了作者LeonardoLiuwenbo在学习《C++ Primer Plus》这本经典教材时所做的编程练习。这个章节聚焦于C++语言的深入特性,旨在通过...

    C++ primer plus课后编程练习题答案

    第十一章继续深入讲解了类和对象的使用,包括类的多态、类的继承、类的组合等,提供了相关的编程练习题和答案,帮助读者掌握类和对象的高级使用技巧。第十六章和第十七章讲解了高级主题,包括模板、异常处理、输入/...

    c++ primer plus 第五版课后习题答案

    - **标签**:“c++ primerplus 第五版 课后题” 进一步明确了这份资料是针对《C++ Primer Plus》第五版中的课后题目。 - **知识点**:通过这些标签,我们可以推断这份资料主要是为学习这本书的学生提供帮助,让他们...

    C++ primer plus 第六版 中文版课后编程习题解答

    C++ Primer Plus是一本经典的C++入门教程,第六版在前几版的基础上进行了更新和完善,以适应现代编程环境的需求。 本书涵盖的知识点广泛且深入,主要包括以下几个方面: 1. **基础语法**:C++的基本数据类型(如...

    C++ Primer Plus 6th 2011(New C++11 Coverage)

    根据提供的文件信息,我们可以从《C++...综上所述,《C++ Primer Plus 第六版》是一本全面介绍C++语言的教程书籍,尤其注重于C++11新特性的讲解,对于希望深入了解和掌握现代C++编程的读者来说,是一本不可多得的好书。

    《C++ Primer Plus(第6版)中文版》编程练习第11-12章答案

    ### 《C++ Primer Plus(第6版)中文版》编程练习第11-12章答案 #### 核心知识点解析 ##### 第11章:使用类 本章节主要介绍了如何通过C++来实现一个自定义的向量类(Vector),并通过这个类来探索面向对象编程中的...

    《c++ primer plus 第五版》编程练习答案

    《C++ Primer Plus 第五版》是一本深受程序员喜爱的C++学习书籍,它深入浅出地介绍了C++编程语言的基础知识和高级特性。这本书的编程练习是学习过程中的重要环节,通过解决这些练习,读者可以巩固理论知识,提高实际...

    C++ Primer Plus课后练习题 代码

    《C++ Primer Plus》是一本深受程序员喜爱的C++学习书籍,它涵盖了C++语言的基础到高级主题。这本书的课后练习题是检验和巩固学习成果的重要环节。这些练习题旨在帮助读者理解并掌握C++的关键概念和技术,包括基本...

    c++ primer plus第五版源代码与编程心得

    《C++ Primer Plus 第五版》是一本深受程序员喜爱的C++学习书籍,它深入浅出地介绍了C++语言的基础和高级特性。源代码部分包含了书中所有示例程序,是理解理论知识的重要辅助材料。而“编程心得”部分则汇集了众多...

    c++primerplus最全课后习题答案

    ### 第11章:类和对象 #### PE11-1至PE11-7 本章习题涵盖了面向对象编程的基础,包括类的定义、对象的创建和使用,以及成员函数的调用。读者可以学习到如何使用类和对象来封装数据和行为,以及如何通过继承和多态...

    C++ Primer Plus(第6版)中文版源代码以及习题答案

    C++ Primer Plus是一本经典的C++教程,第六版更新了内容,以适应现代C++标准,包括C++11、C++14和C++17的新特性。本书涵盖了C++的基础语法、面向对象编程、模板、STL(Standard Template Library)等核心概念,通过...

    C++Primer Plus源代码及部分答案

    《C++ Primer Plus》是一本深受程序员喜爱的C++学习指南,它涵盖了C++语言的基础到高级主题。这本书的源代码和部分答案的提供,对于正在学习或已经学习C++的人来说,是一个极其宝贵的资源。下面将详细介绍这个资源...

    c++ primer 第5版 英文版 原版精美排版 mobi格式 kindle直读

    《C++ Primer》是C++编程领域的一本经典著作,第五版更是深受程序员喜爱的教程。这本书详尽地介绍了C++语言,从基础语法到高级特性,为读者提供了全面而深入的学习路径。作为英文版,它保持了原汁原味的专业表达,...

    C Primer Plus 附录A 复习题答案

    《C Primer Plus 附录A 复习题答案》提供了对C语言基础知识的全面回顾和解答,是学习C语言过程中的重要参考资料。本附录涵盖了C语言的关键概念、语法和编程技巧,旨在帮助读者巩固对C语言的理解,提高编程能力。 在...

    C++Primer(第4版)-课后习题答案.pdf

    11. 第十一章泛型算法:介绍C++标准库中的算法,如排序、搜索、交换、复制等,它们可以应用于不同的容器。 12. 第十二章类和数据抽象:讲解面向对象编程的核心概念,如类的定义、封装、构造函数、成员函数、友元等...

    c++ primer plus课后习题解答

    《C++ Primer Plus》是C++编程领域里一本广受欢迎的教材,以其深入浅出的讲解和丰富的实例闻名。本书的第五版更是对C++11标准进行了全面更新,覆盖了现代C++的新特性。课后习题解答是学习过程中不可或缺的一部分,它...

Global site tag (gtag.js) - Google Analytics