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

成都网站设计排名的公司价格国内永久免费域名注册

成都网站设计排名的公司价格,国内永久免费域名注册,做网站用的插件,广告设计与制作前景文章目录 对象树是什么使用对象树的好处使用c实现对象树 对象树是什么 我们常常听到 QObject 会用对象树来组织管理自己&#xff0c;那什么是对象树&#xff1f;  这个概念非常好理解。因为 QObject 类就有一个私有变量 QList<QObject *>&#xff0c;专门存储这个类的子…

文章目录

  • 对象树是什么
  • 使用对象树的好处
  • 使用c++实现对象树

对象树是什么

 我们常常听到 QObject 会用对象树来组织管理自己,那什么是对象树?
 这个概念非常好理解。因为 QObject 类就有一个私有变量 QList<QObject *>,专门存储这个类的子孙后代们。比如创建一个 QObject 并指定父对象时,就会把自己加入到父对象的 childre() 列表中,也就是 QList<QObject *> 变量中。

使用对象树的好处

 好处就是:当父对象被析构时子对象也会被析构。
 举个例子,有一个窗口 Window,里面有 Label标签、TextEdit文本输入框、Button按钮这三个元素,并且都设置 Window 为它们的父对象。这时候我做了一个关闭窗口的操作,作为程序员的你是不是自然想到将所有和窗口相关的对象析构啊?古老的办法就是一个个手动 delete 呗。是不是很麻烦?Qt 运用对象树模式,当父对象被析构时,子对象自动就 delete 掉了,不用再写一大堆的代码了。
 所以,对象树在 GUI 编程中是非常非常有用的。

使用c++实现对象树

 我们知道Qt对象在创建的时候都可以指定一个父指针,Qt就是通过这个操作将子对象添加到父对象的容器中进行管理,当父对象析构的时候就会遍历这个容器对子对象进行析构,这样子的话用户就不需要自己进行析构子对象。


#include <iostream>
#include <list>
using namespace std;
class Object;
typedef list<Object *> ObjectList;class Object
{
public:ObjectList children_list;Object(Object *parent = nullptr){if(parent){parent->children_list.push_back(this);}}virtual ~Object(){for(auto it = children_list.begin();it != children_list.end();it++){delete *it;}}
};class A:public Object
{
public:A(Object *parent):Object(parent){cout<<"A的构造函数被执行了"<<endl;}~A(){cout<<"A的析构函数被执行了"<<endl;}
};class B:public Object
{
public:B(Object *parent):Object(parent){cout<<"B的构造函数被执行了"<<endl;}~B(){cout<<"B的析构函数被执行了"<<endl;}
};int main()
{Object obj;A *a = new A(&obj);return 0;
}

在这里插入图片描述
当obj对象析构后,a对象不需要进行delete就可以自动进行析构。

http://www.hrbkazy.com/news/24327.html

相关文章:

  • 中国空间站机械臂重庆人力资源和社会保障网官网
  • 东莞营销型网站建站google下载安装
  • 宅男做网站企业培训公司有哪些
  • 自己做网站要买服务器公司网站免费自建
  • 自己做网站开店抖音指数
  • 安徽合肥做网站的公司有哪些游戏推广员到底犯不犯法
  • 手机网站建设的行情百度论坛首页
  • WordPress初始化主题安徽百度关键词优化
  • 一流的镇江网站优化sem是什么
  • 昆明网站建设哪家强seo常用的优化工具
  • 网站维护 案例福建seo顾问
  • 登封网站建设青岛seo网站排名
  • 苏州专业网站建设开发网络广告推广平台
  • 用凡科网做网站怎么保存到桌面19
  • 江门模板开发建站站长之家 seo查询
  • 有没有直接做网站的软件软文营销的技巧有哪些
  • nodejs网站开发公司网站如何建设
  • 做美妆网站的关键词如何设计推广方案
  • 长沙网站建设去哪好网站人多怎么优化
  • 如何做钓鱼网站宁波网站seo哪家好
  • 云服务器ecs部署网站友情链接的作用大不大
  • 重庆专业网站推广时间免费的网站软件下载
  • 蛇口做网站2022新闻热点事件简短30条
  • 网站建设的技术有哪些方面国内前10电商代运营公司
  • 怎么样让网站做的大气seo点石论坛
  • wordpress 新媒体站长工具seo综合查询分析
  • 哪有免费做网站河南最新消息
  • 自己的网站怎样做优化国外网站谷歌seo推广
  • 江西做网站公司电脑优化大师哪个好
  • 沧州网站域名注册服务公司怎么seo网站关键词优化