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

如何建网站和推广邯郸网站建设多少钱

如何建网站和推广,邯郸网站建设多少钱,制作销售网站有哪些问题,宿迁做网站优化C类用三个特殊的成员函数:复制构造函数、赋值操作符和析构函数 来决定类对象之间的初始化或赋值时发生什么。所谓的“复制控制”即通过这三个成员函数控制对象复制的过程 复制构造函数首先是一个构造函数,它同所有其他的构造函数一样与类同名&#xff0…

C++类用三个特殊的成员函数:复制构造函数、赋值操作符和析构函数 来决定类对象之间的初始化或赋值时发生什么。所谓的“复制控制”即通过这三个成员函数控制对象复制的过程

复制构造函数首先是一个构造函数,它同所有其他的构造函数一样与类同名,没有返回值。它有一个唯一的参数(错误),是该类类型的引用(一般将它声明为const,源于用于赋值的对象一般不用改变它本身的值)。于是复制构造函数的原型为:

class BOOK
{public:BOOK(const BOOK& rhs); //构造函数一BOOK(string &name,float price = 0):_bookName(name),_price(price){}; //构造函数二BOOK():_price(0),_bookName(""){}; //构造函数三private:float _price ;string _bookName;//....
};

什么时候被调用
复制构造函数在需要复制类对象的时候被调用,这些调用情况可以总结为:
根据一个同类型的对象显示或隐式地初始化一个对象。
1.当定义一个新对象并用一个同类型的对象对它进行初始化的时候,将显式使用复制构造函数,如:


BOOK book1;
BOOK book2(book1);

当将该类型的对象传递给函数或从函数返回该类型的对象时,将隐式地调用复制构造函数。
1.作为值传递的实参传递给一个函数。
2.函数返回时复制一个对象。
3.初始化顺序容器中的元素。
  如:

vector<string> svec(5);

编译器首先调用string类默认构造函数创建一个临时值,再用复制构造函数将临时值复制到每一个元素。
1.根据元素初始化列表初始化数组元素。
  如:

BOOK books[]={string("book1"),string("book2"),string("book3"),BOOK();

book数组的前三个元素将调用构造函数二进行隐式类型转换(C++隐式类型转换),然后调用复制构造函数进行数组元素的复制。如果类禁止隐式类型转换(构造函数使用了explicit声明),或希望不指定实参或多个实参,需要使用完整的构造函数语法,如数组最后一个元素的初始化。

如果没有为类声明复制构造函数会怎样

如果你没有声明一个复制构造函数,那么编译器会给声明一个。实际上,如果你自己没有声明,编译器会为类声明一个复制构造函数 ,一个赋值操作符以及一个析构函数,此外如果你没有声明任何构造函数的话,编译器也会为你声明一个合成默认构造函数。(错误)所有这些编译器自动生成的类成员函数皆为pubilc 且 inline。编译器创建的复制构造函数单纯地将来源对象的每一个非static成员拷贝到目标对象,这在很多时候是不能满足类需求的,特别是类中含有指针时,这时候就需要我们自己来写复制控制的三个特殊成员函数了。

编译器合成的复制构造函数做了什么

合成复制构造函数的行为是:对每一个非static成员进行逐个成员初始化。成员类型不同,初始化方式不一样:
  
内置类型(如int):直接复制值。

类类型:调用该类的复制构造函数进行复制。

数组:这个比较特殊,因为我们知道一般不能复制数组,但在类中,复制数组时合成复制构造函数将复制数组的每一个值。

另外,合成复制构造函数对类数据成员的初始化都是放在构造函数初始化列表中进行的。

禁止复制

如果我们想禁止某个类的复制行为,我们当然不会想去定义一个复制构造函数,然而编译器却会自动为我们定义一个,那么到底该如何阻止一个类的复制行为呢?

我们可以将复制构造函数定义为private,不允许用户代码复制该类类型的对象,若进行复制将在编译时发生错误。然而类的友元和成员仍可以进行复制,解决办法是我们可以声明一个private复制构造函数却不进行定义,类成员或友元进行复制尝试时,将在程序运行时发生错误。


推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:
零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)
https://xxetb.xet.tech/s/3Zqhgt

http://www.yayakq.cn/news/886276/

相关文章:

  • 关于港口码头发展建设的网站wordpress散开式
  • 国内建站 wordpress大气宽屏的网站
  • 百度网站官网怎么做传媒在线网站模板
  • wordpress适合门户网站吗辽宁省建设工程信息网人员解除
  • 中国制造网网站类型网站开发流程说明
  • 织梦调用wordpress福州seo推广外包
  • 专业网站定制报价河北建设厅网站电话
  • 赣州网站建设较好的公司公司网站做百度广告如何报税
  • 足球直播网站开发定制宁德公司做网站
  • 建设小说网站费用加强网站政务服务建设
  • 太原建南站wordpress文章评论不显示
  • 容桂均安网站建设用微信小程序怎么做网站
  • 个人网站注册平台钱黄冈网站
  • 用dz程序做的电影网站如何进行医药网站建设
  • 中国网站推广黄页名录wordpress 标签描述
  • 重庆网站建设公司 网店运营基础知识
  • 龙岩网站建设龙岩网站制作开小厂一年赚50万
  • 举报网站建设情况 汇报巴中网站建设有限公司
  • 什么值得买 网站开发免费网站的app
  • 洛阳做网站哪家好百度推广视频
  • 河南网站推广多少钱手机上传视频网站开发
  • 做情趣导航网站可以吗国产服务器前三强
  • 做网站前需要准备什么软件泉州网络seo
  • 网站的icp备案网页制作公司业务部门负责人工作
  • 外贸怎么做站外推广宝塔面板如何安装wordpress
  • 外贸如何建立网站室内装修网站html源码 企业
  • 学校网站模板代码贵金属企业网站源码
  • 常德小学报名网站软件工程的就业前景和就业方向
  • 专业高端企业网站建设广州品牌策划公司有哪些
  • c 做注册网站杭州网站建设|网站设计