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

东莞做网站建设小学生抄写新闻20字

东莞做网站建设,小学生抄写新闻20字,做日语字幕的网站,做药公司的网站前置审批【学习笔记】构造函数重载相关 一、构造函数 构造函数在创建对象的过程就会执行,带参数与不带参数,带参数的构造函数会默认将成员变量赋值传进去的参数。 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/wzjs/197631.html

相关文章:

  • 网站建设-信科网络视频推广渠道有哪些
  • 网站认证怎么做怎么做产品推广和宣传
  • 国内做网站比较好的公司有哪些360优化大师软件
  • 网站备案关闭网站百度推广代运营
  • php做网站为什么比java快百度产品
  • 建设工程新工艺网站app推广团队
  • 做推送封图的网站seo优化排名技术百度教程
  • 2023智慧树网络营销答案镇江seo
  • 网站备案几天中国十大热门网站排名
  • 3800给做网站最经典的营销案例
  • 手机网站在哪里找到网站seo优化有哪些方面
  • 网站建设详细方案怎么在网上做广告宣传
  • 怎么做订阅号百度seo优化技术
  • 建设银行的官方网站电话做一个app软件大概要多少钱
  • 基于html的旅游网页设计毕业论文衡阳seo优化推荐
  • 建设网站的企业专业服务百度网址提交
  • 西安东郊网站建设公司百度推广计划
  • 个人简历word可编辑wp博客seo插件
  • 商丘做手机做网站免费友情链接平台
  • 校园网站开发目的守游网络推广平台
  • 做网站的收益来源网络销售是什么
  • 合肥做网站联系方式河南最新消息
  • 网站建设单页怎么收录网站
  • 广西柳州网站建设价格南宁网站公司
  • 购物平台口碑最好的是哪个谷歌seo推广公司
  • metro 导航网站莆田seo推广公司
  • 设计一个学院网站seo外链建设方法
  • 讯美深圳网站建设seo引擎优化
  • 来年做哪个网站能致富长沙百度网站推广公司
  • 真人性做爰免费网站十大永久免费的软件下载