ICode9

精准搜索请尝试: 精确搜索
  • 由菱形继承产生的编译错误2021-10-14 11:01:32

    菱形继承编译产生两个错误 1、no unique final overrider for(最终重载不唯一) 2、请求有歧义 #include <iostream> using namespace std; class A { public: virtual void f() {} }; class B : public A { public: virtual void f() {} }; class C : public A

  • keepalived 实战2021-10-05 20:33:08

    两个节点:10.0.2.18   和 10.0.2.19 1、安装:yum install -y keepalived 2、查看配置文件位置:rpm -qc keepalived 3、修改配置文件:   10.0.2.18上的配置文件: global_defs { router_id zcylb } vrrp_instance VI_1 { state MASTER interface enp0s3 unicast_peer {

  • 策略模式2021-10-04 18:03:12

    策略模式 定义一系列算法,把它们一个个封装起来,并且使它们可互相替换(变化)。该模式使得算法可独立于使用它的客户程序(稳定)而变化(扩展,子类化)。 阶段一 enum TaxBase{ CN_TAX, US_TAX, DE_TAX, }; class SalesOrder{ public: double calculateTax() { //... i

  • 桥接模式2021-10-04 18:01:21

    桥接模式 将抽象部分(业务功能)与实现部分(平台实现)分离,使它们都可以独立地变化。 案例 某软件公司要开发一个跨平台图像浏览系统,要求该系统能够显示BMP、JPG、GIF、PNG等多种格式的文件,并且能够在Windows、Linux、UNIX等多个操作系统上运行。系统首先将各种格式的文件解析为像素矩阵

  • 适配器模式2021-10-04 18:01:11

    适配器模式 将一个类的接口转换成客户希望的另一个接口,Adapter模式使原本由于接口不兼容而不能工作的那些类可以一起工作。 class Target { public: virtual void process() = 0; } class Adaptee { public: virtual void foo(int data) = 0; virtual int bar() = 0; } cl

  • 装饰模式2021-10-04 18:00:54

    装饰模式 动态(组合)地给一个对象增加一些额外的职责。就增加功能而言,Decorator模式比生成子类(继承)更为灵活(消除重复代码&减少子类个数)。 class Stream { public: virtual char* read(int size) = 0; virtual void write(char* data,int size) = 0; virtual void seek(int pos

  • 虚树 virtual-tree2021-10-01 15:00:57

    我们发现,如果一棵树中真正需要处理的点很少,而总共点数很多时,可以只处理那些需要的点,而忽略其他点。 因此我们可以根据那些需要的点构建虚树,只保留关键点。 oi-wiki上对虚树的介绍 我们根据一下方式建立虚树: 现将所有需要处理的关键按照欧拉序排序。 用一个栈维护一条从根节点

  • 第二部分-构造/析构/赋值运算2021-09-30 20:02:00

    条款05:编译器可为class创建默认的构造函数、析构函数、拷贝构造函数、拷贝赋值运算符。 条款06:拒绝编译器自动生成的函数做法。 例如不希望使用class的默认拷贝函数和默认拷贝赋值运算符,有两种做法: 1.将函数声明为private。 此时对象无法调用此函数(编译期就报错)。 但是此方法

  • Effective C++ 笔记 —— Item 36: Never redefine an inherited non-virtual function.2021-09-28 21:02:46

    Consider: class B { public: void mf(); // ... }; class D : public B { /*...*/ }; D x; // x is an object of type D B *pB = &x; // get pointer to x pB->mf(); D * pD = &x; // get pointer to x pD->mf(); That's because in both

  • 【C++】阻止类被实例化2021-09-27 23:34:17

    不想一个类被实例化通常有两个目的:抽象类和工具类 抽象类 实现该类的的就是想成为一个抽象类,抽象类一般只被继承,不能被实例化,例如最基本的例子 【动物类】是一个抽象类;【猴子类】【猫类】【狗类】这三个类继承自【动物类】;【猴子类】【猫类】【狗类】可以被实例化;【动物类】

  • KVM Virtual Networking Concepts2021-09-23 13:00:03

    KVM Virtual Networking Concepts - NovaOrdis Knowledge Basehttps://kb.novaordis.com/index.php/KVM_Virtual_Networking_Concepts 目录 External Internal Overview Virtual Network Virtual Network Modes NAT Mode Routed Mode Bridged Mode Isolated Mode Guest Configur

  • [笔记]《Effective C++》第六章 Inheritance and Object-Oriented Design2021-09-22 20:04:31

    条款32:Make sure public inheritance models"is-a." “public继承”意味is-a。适用于base classes身上的每一件事情一定也适用于derived classes身上,因为每一个derived class对象也都是一个base class对象。 必须牢记: public inheritance(公开继承)意味 "is-a"(是一种)的关系。 条款

  • C++ 虚函数;重载与覆盖;虚继承2021-09-18 09:34:12

      本文转载自https://blog.csdn.net/miao65272156/article/details/25305153 C++ 虚函数;重载与覆盖;虚继承 miao65272156 2014-05-08 16:24:28 3100 收藏 3分类专栏: C++版权 C++专栏收录该内容12 篇文章0 订阅订阅专栏1.什么是虚函数 简单地说,那些被virtual关键字修饰的成员函数,就

  • LeetCode链表篇【删除链表的倒数】2021-09-17 22:31:37

    力扣题目链接(opens new window) 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 进阶:你能尝试使用一趟扫描实现吗? 示例 1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2: 输入:head = [1], n = 1 输出:[] 示例 3: 输入:head = [1,2], n = 1 输出:[1]   正解

  • Ubuntu安装mysql 踩坑过程 及 dpkg安装报错(已解决!!)2021-09-15 02:01:49

    问题:1、遇到dpkg -i 安装deb包报错【dpkg: error: dpkg frontend is locked by another process】    2、安装MySQL时密钥过期 【Err:1 http://repo.mysql.com/apt/ubuntu bionic InReleaseThe following signatures were invalid: EXPKEYSIG                 

  • virtual DOM构建2021-09-14 21:02:38

    1. 构建虚拟DOM,参考资料:https://juejin.cn/post/6844903806132568072#heading-2【仅做为个人学习笔记,如有侵权,请联系本人】    type: 指定元素的标签类型,如'li', 'div', 'a'等   props: 表示指定元素身上的属性,如class, style, 自定义属性等   children: 表示指定元素是

  • 条款 07 :为多态基类声明virtual析构函数2021-09-14 20:02:25

    条款 07 :为多态基类声明virtual析构函数 Declare destructors virtual in polymorphic base classes. 我们有许多计时方法,假设有一个TimeKeeper基类和一些派生类用来表示时间。 class TimeKeeper{ public: TimeKeeper(); ~TimeKeeper(); .... }; class AtomicClock:publ

  • 类成员函数的重载、覆盖和隐藏区别 (C++)2021-09-12 15:58:10

    这是本人第一次写博客,主要是想记录自己的学习过程、心得体会,一是可以方便以后回顾相关知识,二是可以与大家相互学习交流。       关于C++中类成员函数的重载、覆盖和隐藏区别,第一次看到这个问题是在准备找工作的时候在牛客网中(http://www.nowcoder.com/questionTerminal/266d3

  • Virtual Box安装CentOS72021-09-12 08:31:33

    一、下载安装Virtual Box 二、创建虚拟机 1、打开Virtual Box,点击【新建虚拟电脑】     2、设置内存大小    3、创建虚拟硬盘    4、选择虚拟硬盘文件类型    5、分配虚拟硬盘(默认即可)    6、创建虚拟硬盘    三、安装系统 1、正常启用虚拟机 2、选择【注册】找

  • 设计模式--Note4--对象创建类2021-09-11 13:32:57

    Factory Method 工厂方法 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使得一个类的实例化延迟(目的:解耦,手段:虚函数)到子类。 解决什么问题 在软件系统中,经常面临着创建对象的工作;由于需求的变化,需要创建的对象的具体类型经常变化。 如何应对这种变化?如

  • 解决‘.../rqt_virtual_joy/plugin.xml‘ has no Root Element问题2021-09-11 11:00:31

    问题描述 在使用rqt组件时,在终端输入rqt,往往会报下面的错误 Skipped loading plugin with error: XML Document ‘/opt/ros/melodic/share/rqt_virtual_joy/plugin.xml’ has no Root Element. This likely means the XML is malformed or missing… 解决方案 先进入‘/opt/r

  • 带有虚函数的class的size如何计算?2021-09-10 17:59:41

    先说结论: 1. 非虚函数,不占空间,为类共享 2. 带虚函数class,只占一个虚函数表的指针的空间。 3. 子类和父类共享一个虚函数表指针。 测试code: #include <iostream> class A { public: virtual void f1() {} }; class B { public: virtual void f2() {}

  • 虚表指针在哪里2021-09-08 18:29:48

    虚表指针 群里有人问。就写了 从最简单的类开始, 后面有单继承和多继承虚表指针的不同 代码在32环境下: 先写结论:          虚表指针在构造函数与析构中赋值(下面反汇编证明), 赋值: *this = 虚表指针(即首个成员)          虚表指针指向的是一个数组,存放虚函数,虚

  • [笔记]《Effective C++》第二章2021-09-06 22:31:23

    条款05:Know what functions C++silently writes and calls. 编译器会默认为空类(empty class)创建缺省的(default)构造函数、copy构造函数、copyassignment 操作符,以及析构函数。 编译器产出的析构函数是个non-virtual函数,除非这个class的base class自身声明有virtual析构函数(这

  • Windows下动态加载dll库2021-09-06 17:07:05

    库代码、 声明 class handle //接口类 { public: virtual void run() = 0; virtual void stop() = 0; virtual void pause() = 0; }; #pragma once #ifdef LIBDLL #define LIBDLL _declspec(dllexport) #else #define LIBDLL _declspec(dllexport) #endif #include "ha

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有