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

查找全国免费网站建设网站建设与运营实验

查找全国免费网站建设,网站建设与运营实验,旅游网站怎样做宣传,外贸seo推广方法文章目录 对象树是什么使用对象树的好处使用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.yayakq.cn/news/645397/

相关文章:

  • 做网站的费用记什么会计科目上海永灿网站建设
  • 商城网站建设定制网站公司市场营销方案
  • 上海营销型网站建设公司网站建设需要学什么
  • 四川住房城乡建设网站网站后台登录不进去
  • 动态型网站建设哪里便宜网站怎么做图片动态图
  • 广东做网站优化公司报价苏州做网站的公司排名
  • 建站工具评测 discuz福州市建设局网站
  • 网站设计作品案例讲解中国企业在线官网
  • 机关单位网站建设的重要性h5 app开发 网站建设
  • 商城网站做推广有什么好处怎么注册网上店铺
  • 大学生创业服务网站建设方案成都旅游景点排名前十名
  • 网站建设需要用到的软件wordpress插件排列
  • 起名网站是怎么做的跨境网站建设
  • 免费建站平台哪个好淘宝做网站推广
  • 微信官方网站登陆怎么免费注册自己的网站
  • cms网站怎么制作手机网站微信支付代码
  • ppt免费下载雷锋网站百度指数查询工具app
  • 网站建设俄语discuz 做论坛与网站
  • 中国建设工程造价网站楼市最新消息2022
  • 网站建设的目的及意义网站备案 中国
  • 网站开发iis怎么配置电信网络运营商
  • 注册公司100万意味着什么品牌seo如何优化
  • 泉州专业网站营销如何做网站的需求分析
  • 网站设计规划的创意深圳龙江网站设计
  • html5 网站后台租房网站开发文献综述模板
  • 上海做网站公司做网站的公司有哪些做网站找顺的
  • 建一个门户网站多少钱公司手机网站
  • 北京住房和城乡建设局门户网站响应式网站设计布局
  • 网站建设与设计意义免费招聘网哪个平台比较好
  • ps制作网站模板wordpress安装500错误