c++基础程序传智1.docxVIP

  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基础程序传智1

Dn01_类的构造和析构#include iostreamusing namespace std;class Test{public:Test(){a = 10;p = (char*)malloc(100);strcpy(p,aaabbb);cout我是构造函数endl;}void print(){coutapendl;}~Test(){cout我是析构函数endl;}protected:private:int a;char *p;};//给对象搭建舞台,研究对象的生命周期void objplay(){Test t1; //先定义调用t1的构造函数,先析构t2的析构函数t1.print();Test t2;t2.print();}void main11(){//Test t1,t2; //会执行两遍构造函数,调用无参构造函数,但不会自动调用析构函数,因为会在system那停住objplay();couthelloendl;system(pause);return;}Dn02——构造函数的分类#include iostreamusing namespace std;class Test2{public://无参构造函数Test2() {m_a = 0;m_b = 0;cout无参构造函数endl;}//有参构造函数Test2(int a)//this指针{m_a = a;m_b = 0;cout有参构造函数endl;}Test2(int a, int b) //this指针{m_a = a;m_b = b;cout有参构造函数endl;}//copy构造函数Test2 (const Test2 obj) //作用:用一个对象来初始化另一个对象{cout我也是构造函数endl;}public:void printT(){cout普通成员函数endl;}private:int m_a;int m_b;};//有参构造函数的调用分为 3 种void main21(){//无参构造函数的调用方法:直接定义对象Test2 t0; //默认调用无参构造函数//有参构造函数 第 1 种//Test2 t1(); //必须写上参数//t1.printT(); errTest2 t1(1,2);t1.printT(); //第 2 种 方法Test2 t2 = (3,4); //调用一个参数的 有参构造函数,原因:逗号表达式取最后一个值 等价于 //Test t2 = 4;//第 3 种 方法 Test2 t3 = Test2(5,6); //直接调用 构造函数 将会产生 匿名对象,匿名对象对t3 进行初//始化,(匿名对象的去留问题)t1 = t3; //将t3 赋值给 t1,叫做 对象的赋值操作,不会调用copy构造函数couthelloendl;system(pause);return;}Dn03——显示化初始化方案:为什么需要构造函数#include iostreamusing namespace std;//当类的 对象 是数组 时,对其显示的初始化 很繁琐// 因此 需要用 构造函数 去初始化class Test3{public:void init(int _a, int _b){a = _a;b = _b;}protected:private:int a;int b;};void main31(){//1. 对普通的对象 初始化Test3 t1;int a = 10, b = 20;t1.init(a, b);//2. 对数组 初始化 ,必须对 数组中的每一个元素对象进行初始化,比较繁琐Test3 tArray[3];tArray[0].init(1,2);tArray[1].init(1,2);tArray[2].init(1,2);//或者Test3 t21; t21.init(1,2);Test3 t22; t22.init(3,4);Test3 t23; t23.init(5,6);Test3 tArry1[3] = {t21,t22,t23};couthelloendl;system(pause);return;}Dn04——copy构造函数的调用1234种情况#include iostreamusing namespace std;class Test4{public://无参构造函数Test4() {m_a = 0;m_b = 0;cout无参构造函数endl;}//有参构造函数Test4(int a)//this指针{m_a = a;m_b = 0;cout有参构造函数endl;}Test4(int a, int b) //this指针{m_

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档