随笔分类 - c++ 类
构造、析构、复制、移动、继承、等
摘要:1、emplace 1)emplace (pos, args):在某个迭代器位置插入(构建)一个新对象 std::vector<int> myvector = {10,20,30}; // -> 10,100,20,30 auto it = myvector.emplace ( myvector.b
阅读全文
摘要:设置方法: 属性页->c/c++->命令行: /d1 reportSingleClassLayoutXXX 显示指定类的内存布局,XXX即指定的类名 /d1 reportAllClassLayout 显示所有类的内存布局 显示:编译时:输出+生成,即显示出类对象结构
阅读全文
摘要:https://www.cnblogs.com/tianzeng/p/9775672.html 一、基类与派生类的作用域关系 1、每个类定义自己的作用域,在这个作用域内我们定义类的成员; 2、派生类的作用域位于基类作用域之内; 二、成员函数调用 1、一个对象、引用或指针的静态类型决定了该对象的哪些成
阅读全文
摘要:一、定义 1、抽象基类:含有(或者未覆盖直接继承)纯虚函数的类是抽象基类 2、纯虚函数:通过在类内部虚函数的声明位置,将声明函数的函数体的位置(声明语句的分号之前)书写=0; double net_price( std::size_t ) const = 0; 二、作用与应用 抽象基类负责定义接口,
阅读全文
摘要:一、申明与定义方式 二、虚函数作用与应用 三、虚基表 1、虚函数表是与类关联的,也就是说,一个类只有一张虚函数表。(从这个方面上说,虚函数类似于类的静态函数)2、VTable中虚函数的位置是由基类决定的,所以,哪怕你在派生类中不是按基类的顺序来重写虚函数,派生类的VTable中虚函数的存放顺序和基类
阅读全文
摘要:一、概念 目前理解这个概念只在类继承中出现;当在作用域嵌套中,应该也会出现重写的概念,比如内部命名空间重写了外部命名空间中的函数; 二、阻止类被继承(关键字final) 1、形式一 class NoDerived final { /* */ }; //NoDerived不能作为基类 2、形式二 cl
阅读全文
摘要:问题描述: 我在一个CDlg中声明了map<>对象,跟指针无关系,然后用CArray<CDlg,CDlg&>存储dlg对象,这里需要CDlg具有重载operator=; 软件退出时,就会报错,不知道问题所在?同时声明的vector<>等都ok的!
阅读全文
摘要:https://blog.csdn.net/hezeshi/article/details/27318933 / https://blog.csdn.net/beckle_ye/article/details/4698431 https://www.cnblogs.com/hellcat/p/966
阅读全文
摘要:1、https://blog.csdn.net/weixin_41157654/article/details/80820520 最近跟着前辈们打打下手,顺便研究研究代码,以前没怎么用过QT和C++语言,这次跟着前辈好好学习。在研究代码时看到这样的形式,很怪异,就在网上找了一下,发现有个解释的就转载
阅读全文
摘要:class HelloWorld{ setupUi(x){}; } HelloWorld *ui; ui=new HelloWorld; ui->setup(x); \\对于非静态类成员函数,只有类对象可以调用其函数;这里也只有类对象的指针可以调用类函数;
阅读全文
摘要:1、格式 basic_string& operator=( const basic_string& str );\\赋值操作符 basic_string& operator=(basic_string&& str);\\移动操作符
阅读全文
摘要:1、格式 1)Foo(const Foo& other) \\复制构造函数 \\左值赋值 2)Foo(Foo&& other) \\移动构造函数 \\右值赋值 3)explicit Foo(size_type count) \\禁止隐性转换 2、参数与返回值 没理解??? 2、合成拷贝构造函数 编译
阅读全文