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

做任务的网站源码深圳做网站佰达科技三十

做任务的网站源码,深圳做网站佰达科技三十,沈阳网站做,微营销平台【学习笔记】构造函数重载相关 一、构造函数 构造函数在创建对象的过程就会执行,带参数与不带参数,带参数的构造函数会默认将成员变量赋值传进去的参数。 class Layer { private:int layer_id; // 层IDstd::string layer_json; // 层的JSON配置…

【学习笔记】构造函数+重载相关

一、构造函数

构造函数在创建对象的过程就会执行,带参数与不带参数,带参数的构造函数会默认将成员变量赋值传进去的参数。

class Layer {
private:int layer_id;       // 层IDstd::string layer_json;  // 层的JSON配置
public:Layer(){ }// 构造函数实现Layer(int layerId, const std::string& layerJson) {layer_id = layerId;      // 初始化层IDlayer_json = layerJson;  // 初始化JSON配置}
};
// 使用带参数的构造函数创建Layer对象
Layer layer(1, "{\"name\":\"background\",\"opacity\":0.8}");// 等价于先创建对象,再赋值(但更高效)
Layer layer2;
layer2.layer_id = 1;
layer2.layer_json = "{\"name\":\"background\",\"opacity\":0.8}";

二、拷贝构造函数

拷贝构造函数的主要作用是用一个已存在的Window对象来初始化新对象。

class Window
{public:Window(){ }virtual ~Window(){ }// const:确保原对象不被修改,允许接收常量对象。Window(const Window& obj){win_id = obj.win_id;                                sizeType = obj.sizeType;type = obj.type;zorder = obj.zorder; isBackground = obj.isBackground; isFreeze = obj.isFreeze; }
..........

*默认行为:要是没有自定义拷贝构造函数,编译器会生成默认的,不过默认的是浅拷贝,这在对象管理动态资源时可能会引发问题。比如指针,浅拷贝仅复制指针值,导致多个对象指向同一块内存,析构时会引发双重释放错误。

三、赋值运算符重载

赋值运算符重载 Window& operator=(const Window& obj) 允许你使用 = 符号将一个 Window 对象的值赋给另一个 Window 对象。

class Window
{public:Window(){ }virtual ~Window(){ }Window& operator=(const Window& obj){if (this == &obj) return *this;  // 处理自我赋值win_id = obj.win_id;                                sizeType = obj.sizeType;type = obj.type;zorder = obj.zorder; isBackground = obj.isBackground; isFreeze = obj.isFreeze; isLock = obj.isLock; return *this;}
..........

举例:

Window win1;
Window win2;
win2 = win1;

四、比较运算符重载

class Window
{public:Window(){ }virtual ~Window(){ }// 相等比较运算符的实现bool operator==(const Window& obj) const{if(win_id == obj.win_id &&sizeType == obj.sizeType &&type == obj.type &&zorder == obj.zorder &&source == obj.source &&layerout == obj.layerout &&invalidResource == obj.invalidResource &&layerType == obj.layerType)return true;elsereturn false;}// 不相等比较运算符的实现bool operator!=(const Window& obj) const{return !operator==(obj);}
..........

举例:

Window win1;
Window win2;
win2 = win1;
if(win1 == win2)
{........
}
http://www.dtcms.com/a/522955.html

相关文章:

  • 菏泽建设网站网站建设模板黄页
  • 羊毛网站建设视频电销卡代理加盟
  • 公墓网站建设廊坊网站制作工具
  • 高端科研网站设计wordpress云主机
  • 卖设计图的网站WordPress站内搜索代码
  • 倒计时网站模板淄博网站建设咨询臻动传媒
  • 怎样建设网站公司域名备案查询接口
  • 商城站地址了解网站开发 后台流程
  • 免费下载建设银行官方网站网站怎么做社区营销
  • 做pc端网站价位深圳设计优化公司
  • 北京网站优化开户263企业邮箱官方入口
  • 制作一个网站多少钱啊甘肃三北防护林建设局网站
  • 在青岛建网站品牌网站建设h合肥
  • 怎么做婚介网站网站设计实例教程
  • 做个网站多少费用公司网址有哪些
  • 誓做中国最大钓鱼网站广州微信网站建设公司哪家好
  • 网站与微信对接百度公司招聘官网
  • 宁波外贸网站开发唐山的网站建设
  • 网站开发如何找甲方上海网站建设大概多少钱
  • 网站如何做交换链接洛阳网站建设报价
  • 制作网站教学如何创建自己的卡网
  • 网站建设平台简介网站备案如何注销
  • 南通购物网站建设caddy wordpress
  • 做物流的用什么网站配货衡水做网站服务商
  • 小说阅读网站开发设计什么是网站反链
  • 百度不收录网站怎么办深圳市易百讯科技有限公司
  • 学建筑的网站seo工具优化
  • 萝岗公司网站建设网站开发建设公司电话
  • 还原wordpress站点地址恢复河北省建设执业资格注册中心网站
  • 好的外贸网站的特征做网站时连服务器上的数据库