上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 18 下一页
摘要: 隐式类类型转换 C++语言定义了内置类型之间的几个自动转换。也可以定义如何将其他类型的对象隐式转换为我们的类类型,或将我们的类类型的对象隐式转换为其他类型。为了定义到类类型的隐式转换,需要定义合适的构造函数。可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。 class Sal 阅读全文
posted @ 2016-03-01 14:31 _No.47 阅读(2167) 评论(0) 推荐(1)
摘要: 赋值操作符 类赋值操作符接受类类型形参,通常,该形参是对类类型的 const 引用,但也可以是类类型或对类类型的非 const 引用。如果没有定义这个操作符,则编译器将合成它。类赋值操作符必须是类的成员,以便编译器可以知道是否需要合成一个。可以为一个类定义许多附加的赋值操作符,这些赋值操作符会因右操 阅读全文
posted @ 2016-02-29 09:58 _No.47 阅读(415) 评论(0) 推荐(0)
摘要: 转换与类类型 可用一个实参调用的非 explicit 构造函数定义一个隐式转换。当提供了实参类型的对象而需要一个类类型的对象时,编译器将使用该转换。这种构造函数定义了到类类型的转换。除了定义到类类型的转换之外,我们还可以定义从类类型的转换。即,我们可以定义转换操作符,给定类类型的对象,该操作符将产生 阅读全文
posted @ 2016-02-28 13:24 _No.47 阅读(507) 评论(0) 推荐(0)
摘要: 重载操作符的作用: 通过操作符重载,程序员能够针对类类型的操作数定义不同的操作符版本。程序用移位操作符(>> 和 <<)进行输入输出,用加号操作符(+)将两个 Sales_items 相加。 通过操作符重载,可以定义大多数操作符,使它们用于类类型对象。明智地使用操作符重载可以使类类型的使用像内置类型 阅读全文
posted @ 2016-02-26 17:43 _No.47 阅读(336) 评论(0) 推荐(0)
摘要: 先看一个例子: 定义了一个类: 再定义一个类Test: 当我们仅仅定义一个Test类对象test1时: 输出结果: 此时如果用test1初始化一个Test类对象test2: 输出结果为: 原因在于,给test2初始化的时候调用了Test类中的复制构造函数,而这个复制构造函数中: 又有对成员的初始化列 阅读全文
posted @ 2016-02-25 15:16 _No.47 阅读(490) 评论(0) 推荐(0)
摘要: 消息处理示例 有些类为了做一些工作需要对复制进行控制。为了给出这样的例子,我们将概略定义两个类,这两个类可用于邮件处理应用程序。Message 类和 Folder 类分别表示电子邮件(或其他)消息和消息所出现的目录,一个给定消息可以出现在多个目录中。Message 上有 save 和 remove 阅读全文
posted @ 2016-02-24 17:20 _No.47 阅读(227) 评论(0) 推荐(0)
摘要: 每种类型还定义了创建该类型的对象时会发生什么——构造函数定义了该类类型对象的初始化。类型还能控制复制、赋值或撤销该类型的对象时会发生什么——类通过特殊的成员函数:复制构造函数、赋值操作符和析构函数来控制这些行为。 复制构造函数是一种特殊构造函数,具有单个形参,该形参(常用 const 修饰)是对该类 阅读全文
posted @ 2016-02-23 18:52 _No.47 阅读(295) 评论(0) 推荐(0)
摘要: 类通常应定义一个默认构造函数 为了例示需要默认构造函数的情况,假定有一个 NoDefault 类,它没有定义自己的默认构造函数,却有一个接受一个 string 实参的构造函数。 定义这样的一个类没有错,这样编译会编译成功: class NoDefault { public: void output( 阅读全文
posted @ 2016-02-22 14:42 _No.47 阅读(290) 评论(0) 推荐(0)
摘要: 一个类: class Sales_item { public://程序的所有部分都可以访问带有 public 标号的成员。类型的数据抽象视图由其 public 成员定义。 // operations on Sales_item objects double avg_price() const; bo 阅读全文
posted @ 2016-02-19 18:36 _No.47 阅读(233) 评论(0) 推荐(0)
摘要: IO标准库类型和头文件 出于某些原因,标准库类型不允许做复制或赋值操作。 ofstream out1, out2; out1 = out2; // error: cannot assign stream objects // print function: parameter is copied o 阅读全文
posted @ 2016-02-18 18:34 _No.47 阅读(433) 评论(0) 推荐(0)
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 18 下一页