当前位置: 首页 > news >正文

云南建设企业网站中国网络教育云平台免费网课

云南建设企业网站,中国网络教育云平台免费网课,建网站挣钱 优帮云,北海哪家公司做网站建设研发1、类型转换构造 |自定义转换 利用一个已定义的对象,来定义另一个不同类型的对象 实现从源类型到目标类型的隐式类型转换的目的 总结下已知构造#xff0c;包括类型转换构造 如下#xff0c;如果Person给Human赋值时#xff0c;Person有私有变量#xff0c;则需要在Pers…1、类型转换构造 |自定义转换 利用一个已定义的对象,来定义另一个不同类型的对象 实现从源类型到目标类型的隐式类型转换的目的 总结下已知构造包括类型转换构造 如下如果Person给Human赋值时Person有私有变量则需要在Person声明友元声明 private:friend class Human;class Human{ public://缺省构造/无参构造Human(int age 0, const char* name匿名){//【int m_age;】,定义m_age,初值为随机数//【string m_name;】定义m_name,利用m_name.string()cout Human类的缺省构造函数被调用 endl;m_age age;m_name name;}//拷贝构造 带初始化表Human(const Human that):m_age(that.m_age),m_name(that.m_name){//【int m_age;】,定义m_age,初值为随机数//【string m_name;】定义m_name,利用m_name.string()cout Human类的拷贝构造函数被调用 endl;m_age that.m_age;m_name that.m_name;}//拷贝赋值Human operator(const Human that){// 编译器不会在自定义拷贝赋值函数中添加任何操作cout Human类的拷贝赋值函数被调用 endl;this-m_age that.m_age;this-m_name that.m_name; return *this;}Human(const Person src):m_age(src.p_age),m_name(src.p_name),m_score(src.p_score){cout Human类的类型转换构造函数被调用 endl;} private:int m_age; // 基本类型的成员变量string m_name; // 类类型的成员变量 };通过explicit关键字可以强制这种通过类型转换构造函数实现的类型转换必须通过静态转换显式地进行 explicit Human(const Person src) :m_age(src.p_age),m_name(src.p_name),m_score(src.p_score){cout Human类的类型转换构造函数被调用 endl; }2、析构函数 析构函数的函数名就是在类名前面加~ 没有返回类型也没有参数不能重载 在销毁对象之前一刻自动被调用且仅被调用一次 对象离开作用域delete操作符 如果一个类没有定义析构函数那么编译器会为其提供一个默认析构函数 功能 对基本类型的成员变量什么也不做对类类型的成员变量调用相应类型的析构函数销毁 对象的各个成员变量 对象的销毁过程 自动执行的代码在自定义代码之后执行 调用析构函数 执行自己在析构函数中书写的代码利用成员变量调用相应的析构函数释放对象的各成员变量所占内存空间 释放整个对象所占用的内存空间 使用说明 通常情况下若对象在其生命周期的最终时刻并不持有任何动态分配的资源可以不定义析构函数但若对象在其生命周期的最终时刻持有动态资源则必须自己定义析构函数释放对象所持有的动态资源析构函数的功能并不局限在释放资源上它可以执行我们希望在对象被释放之前执行的任何操作 3、深拷贝 浅拷贝 无论是拷贝构造还是拷贝赋值其默认实现对任何类型的指针成员都是简单地复制地址而并不复制地址指向的数据这种情况称之为浅拷贝。 浅拷贝的问题 指向统一内存free会多次即delete多次同一内存地址 深拷贝 为了获得完整意义上的对象副本必须自己定义拷贝构造和拷贝赋值针对指针型成员变量深拷贝。 防止自赋值 相对于拷贝构造拷贝赋值需要做更多的工作 避免自赋值分配新资源拷贝新内容释放旧资源返回自引用 两个建议 只有类中有指针型成员变量时才会涉及深浅拷贝的问题因此应尽量避免使用指针型成员变量如果确实无法实现完整意义上的深拷贝拷贝构造和深拷贝拷贝赋值可将它们私有化禁止用户使用 类的静态成员 类的静态成员变量和静态成员函数更象是普通的全局变量和全局函数只是多了一层类作用域和访问控制限定符的约束相当于具有成员访问属性的全局变量和全局函数 类的静态成员变量 静态成员变量 不属于对象 而属于类 静态成员变量不包含在对象中进程级生命期静态成员变量的定义和初始化只能在类的外部而不能在构造函数中进行静态成员变量依然受类作用域和访问控制限定符的约束访问静态成员变量既可以通过类也可以通过对象静态成员变量为该类的所有对象实例所共享 类的静态成员函数 静态成员函数 不属于对象 而属于类 静态成员函数没有this指针也没有常属性静态成员依然受类作用域和访问控制限定符的约束访问静态成员函数既可以通过类也可以通过对象静态成员函数只能访问静态成员而非静态成员函数既可以访问静态成员也可以访问非静态成员
http://www.yutouwan.com/news/485541/

相关文章:

  • 网站怎么发布古典网站建设
  • 湖南省和城乡住房建设厅网站按钮特效网站
  • 宁波网站建设哪里便宜wordpress 图片服务器
  • 电子商务网站建设与管理实验目的做爰免费视频网站
  • 国外做ppt网站做外贸上什么网站
  • 个人营销网站免费在线网页代理
  • 模板网站多少钱一个WordPress调用npr电台
  • 咸宁网站建设哪家好ps模板网
  • 临沂兰山建设局网站网站开发教程 模板
  • 浪潮做网站建设吗优酷视频网站开发
  • 网站用社交图标做链接侵权吗天津住房和城乡建设部网站
  • 用腾讯云做购物网站视频建设部注册中心网站
  • 上海做网站哪家公司好网网站建设与设计
  • 鄱阳网站建设多少钱万州做网站
  • 建教会网站的内容做宣传页的软件是什么
  • 动漫网站网页设计常德做网站公司哪家好
  • 网站建设需求意见征求表廊坊网站快速排名优化
  • 国外简洁的网站找网站建设客户
  • 坪山建设网站建站下载php做站的官方网站
  • 简述网站开发岗位及职务金利福珠宝的网站建设理念
  • 营销型网站建设试卷做电影网站用什么软件叫什么名字吗
  • 织梦网站错位德阳如何做百度的网站
  • 公司网站建设征稿令广州市城乡和建设局网站
  • 涞源网站建设网页设计与制作图片素材
  • 网站的图片做多大尺寸学做网站论坛会员
  • 建设网站使用的工具东莞中小型网站建设
  • 个人网站模板大全wordpress配置域名
  • it行业公司排名河北搜索引擎优化
  • 网站后台怎么换图片网站建设要域名和什么科目
  • 技术支持 金华网站建设wordpress更换主题帖子封面不显示