C++
文章平均质量分 76
GouplovXim1314
这个作者很懒,什么都没留下…
展开
-
QT入门之信号与槽
信号(signal) 就是在特定情况下被发射的时间 槽(slog) 就是对信号的相应函数。槽就是一个函数,与一般的C++函数一样,可以定义在类的任何部分(public、private、protected),可以具有任何参数,也可以被直接调用信号与槽的关联使用 QObject::connect() 函数实现的,其基本格式是:QObject::connect(sender, SIGNAL(s...原创 2020-02-17 15:11:47 · 424 阅读 · 0 评论 -
Qt入门之UI文件设计与运行机制
Qt入门之UI文件设计与运行机制QMainWindow 是主窗口类,主窗口具有主菜单栏,工具栏和状态栏,类似于一般的应用程序的窗口QWidget是所有具体可视界面类的基类,选择QWidget 创建的界面对各种界面组件都可以支持QDialog是对话框类,可建立一个基于对话框的界面项目文件组成1.项目组织文件samp2_1.pro,存储项目设置的文件#表示加入了 core...原创 2020-02-16 23:22:13 · 468 阅读 · 0 评论 -
C++构造函数理解
正确理解Qt中构造函数:Widget::Widget(QWidget *parent) : QWidget(parent),ui(new Ui::Widget)#include <iostream>using namespace std;class Base{ public: Base():m_num(0){ cout ...原创 2020-02-16 21:41:41 · 429 阅读 · 0 评论 -
C++重载覆盖隐藏
重载前提:(1)同一作用域(2)函数名相同要求:不同形参表注:返回类型和参数的缺省值不参与重载识别。函数前缀的访问控制(public/protected/private)不影响重载。在不同的名字空间声明的函数不是重载。除 main 函数之外的任何函数都可以重载。重载的几种情况:(1)形参是引用,非引用时void func(int &x);void func(int x);//不属于重载(2...原创 2018-05-24 22:56:25 · 585 阅读 · 0 评论 -
C++虚基类与虚继承
为什么有虚继承多继承(Multiple Inheritance)是指从多个直接基类中产生派生类的能力,多继承的派生类继承了所有父类的成员。尽管概念上非常简单,但是多个基类的相互交织可能会带来错综复杂的设计问题,命名冲突就是不可回避的一个。多继承时很容易产生命名冲突,即使我们很小心地将所有类中的成员变量和成员函数都命名为不同的名字,命名冲突依然有可能发生,比如典型的是菱形继承,如下图所示:图1:菱形...原创 2018-05-24 22:58:16 · 424 阅读 · 0 评论 -
C++深拷贝与浅拷贝
浅拷贝 所谓浅拷贝,指的是在对象复制时,只对对象中的数据成员进行简单的赋值,默认拷贝构造函数执行的也是浅拷贝class Rect{public:Rect(){ count++; cout<<count<<endl; } //构造函数,计数器加1//拷贝构造函数/*Rect(const Rect &r)*{* width = r.width;* height = r....原创 2018-05-24 22:59:56 · 468 阅读 · 0 评论 -
C++构造函数
构造函数的作用在创建对象时,为对象分配内存空间并初始化类的构造函数不能被继承(构造函数不能被继承是有道理的,因为即使继承了,它的名字和派生类的名字也不一样,不能成为派生类的构造函数,当然更不能成为普通的成员函数)构造函数的形式(1)类名 (实参列表) {函数体}(2)类名 (实参列表):初始化列表{函数体}注:构造函数名跟类名完全一致,没有返回值,不具备类型当构造函数为私有(private)时,无...原创 2018-05-24 23:01:46 · 163 阅读 · 0 评论 -
C++析构函数
作用:创建对象时系统会自动调用构造函数进行初始化工作,同样,销毁对象时系统也会自动调用一个函数来进行清理工作(例如回收创建对象时消耗的各种资源),这个函数被称为析构函数。析构函数(Destructor)也是一种特殊的成员函数,没有返回值,不需要用户调用,而是在销毁对象时自动执行。与构造函数不同的是,析构函数的名字是在类名前面加一个”~“符号。特点:析构函数的作用并不是删除对象,而是在撤销对象占用的...原创 2018-05-24 23:02:43 · 228 阅读 · 0 评论 -
2.1(OpenCV核心类型Mat)-Mat解析
关于 Mat ,首先要知道的是你不必再手动地(1)为其开辟空间(2)在不需要时立即将空间释放但手动地做还是可以的:大多数OpenCV函数仍会手动地为输出数据开辟空间。当传递一个已经存在的 Mat 对象时,开辟好的矩阵空间会被重用。也就是说,我们每次都使用大小正好的内存来完成任务。Mat是OpenCV里最基本的一个类,由两个数据部分组成:矩阵头(包含矩阵尺寸,存储方法,存储地址等信息)和一个指向存储...原创 2018-06-06 10:46:42 · 330 阅读 · 0 评论