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

构造函数详解以及使用.pdf

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

C++类构造函数 2 C++特性探寻-构造函数和析构函数4 C++ 默认构造函数 6 C++类对象的拷贝构造函数分析7 关于拷贝构造函数和赋值运算符10 C++析构函数 15 C++特性探寻-构造函数和析构函数15 C++中禁止异常信息传递到析构函数外17 C++箴言:防止异常离开析构函数19 VC++深入详解:析构函数24 调用 C++复制构造函数和拷贝构造函数25 实例解析 C++/CLI 之静态构造函数28 C++中利用构造函数与无名对象简化运算符重载函数37 获得类析构函数地址并执行析构函数42 C++一种有意思的构造析构函数调用现象43 禁用屏幕拷贝调用派生的析构函数44 1 构造函数(constructor )是类的一个特殊的成员函数,它与类名同名。当定 义该类的对象时,构造函数将被系统自动调用用以实现对该对象的初始化。构造 函数不能有返回值,因而不能指定包括 void 在内的任何返回值类型。构造函数 的定义与其他成员函数的定义一样可以放在类内或类外。 C++类构造函数 大部分对象在使用之前没有正确的初始化是 C++出错的主要领域 引入类的构造函数是正确的初始化类的对象 一般什么时候触发并调用类的构造函数呢? 答案是:当我们用类来定义一个类变量的时候, 如: class demo{}; 声明并定义好完整的类 //当我们用类去建立一个对象时,它首先调用类的构造函数 demo d; //调用类的无参数的构造函数 demo d1(参数 1,..) //按参数个数不同,调用类中不同的构造函数 2.定义 构造函数名和类名完全一样,可以根据不同的参数来实现重载不同的构造函 数 构造函数是没有任何返回值的,它默认的是 public,inline 函数 2.1 定义格式 构造函数可以重载,可以是无参数,有参数,有默认参数) 声明三个构造函数 代码如下 class item{ public: item(std::string book=\\ ); //带默认形参的构造函数 item(std::string ); //带形参的构造函数 item(); //无形参的构造函数 }; 2.2 构造函数的两种初始化成员变量的方法 如下面的类 class demo(){ public: //构造函数在下面添加 private: int x; int y; 2 std::string name; }; 构造函数初始化成员有两种方法 A.使用构造函数的初始化列表进行初始化 格式:funname(参数列表):(初始化列表){} 初始化列表: 成员名 1(形参名 1),成员名 2(形参名 2),成员名 n(形参名 n) 代码: demo(int a=0,int b=0,std::string s=\\):x(a),y(b),name(s){} B.使用构造函数的函数体进行初始化 格式:funname(参数列表){函数体内赋值} 它和传统的 C 函数差不多 代码: demo(int a=0,int b=0,std::string s=\\){ x=a; y=b; name=s; } 3.基类与派生类 3.1 在基类用构造函数初始化类的成员 \默认形参的方式+初始化列表\来初始化基类,而参数顺序不是主要的 代码如下: class item_base( public: //两个构造函数 item_base():(isbn(\\),price(0.0){} item_base(std::string book=\\,double s_price=0.0) //带

文档评论(0)

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

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

1亿VIP精品文档

相关文档