网站大量收购闲置独家精品文档,联系QQ:2885784924

第15章 特殊的成员函数.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第15章 特殊的成员函数

一、构造函数(constructor) 二、构造函数的调用 三、对象数组的初始化 一、构造函数(constructor) C++语言中有一些成员函数性质是特殊的,这些成员函 数负责对象的建立、删除和拷贝。 这些函数的特殊性在于可以由编译器自动地隐含调 用,其中一些函数调用格式采用运算符函数重载的语法。 本章对这些特殊的系统默默提供的成员函数进行描述, 附带初步介绍运算符重载的概念。 C++引进一个自动完成对象初始化过程的机制,这就是 类的构造函数。 1. 构造函数的特殊性: a. 构造函数的函数名唯一的,限制为当前类的类名但可以 拥有多个形参不同的版本。 b. 构造函数不返回具体的数值,不指定函数的返回类型。 c. 构造函数是不能继承也不能是virtual的成员函数。 构造函数是特殊的初始化对象数据状态的成员函数, 编译器在对象的定义点为对象先分配内存,随即自动启动构 造函数初始化对象或对象的子集合。 构造函数声明语句放置于类的声明内,语法格式为: class CType class 类名 { public: 成员声明语句; { public: 成员声明语句; CType (t1 v1, t2 v2, ...,tn vn); 构造函数名 (形参列表); }; }; C++语言规定构造函数不前置返回类型,void关键字也 不能说明构造函数的返回特性。 对象是不同数据类型的集合,构造函数常出现不同的重 载版本,每一个特定的构造函数以特定的方式初始化对象特 定的数据集合。 构造函数可以内置定义也可以在类外定义,构造函数定 义的语法格式为: CType::CType(t1 v1, t2 v2, ...,tn vn) //类名::构造函数名(形参列表) { //语句序列中可用return ; 初始化数据成员的语句序列; //语句序列中不用return expre; } //类名::前无返回类型 2.拷贝构造函数和无参构造函数 a. 无参构造函数 无参构造函数是入口没有任何形参的构造函数,如果构 造函数中的语句为空,则称为无参空构造函数。无参构造函 数定义的格式为: CType::CType() //类名::构造函数名() { //无参构造函数的定义 语句序列; //语句序列可以全部为空 } //形如 CType::CType(){}的构造函数为无参空构造函数 b. 拷贝构造函数 class CType class 类名 { public: { public: CType (const CType r ); 类名(形参类名); }; }; CType::CType(const CType r) { memcpy (this, r,

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档