1. SVM介绍 占个坑,以后再说 2. OpenCV3.x下SVM接口介绍 [官方文档][官方文档] OpenCV3.x与OpenCV2.x中SVM的接口有了很大变化,在接口上使用了虚函数取代以前的定义。 下面介绍几个常用的接口,及其参数意义。 2.1 初始化函数 定义如下: CV_WRAP st ...
分类:
其他好文 时间:
2018-06-27 23:55:23
阅读次数:
780
基类指针指向子类对象 基类引用成为子类对象的别名 静态类型-变量(对象)自身的类型 动态类型-指针(引用)所指向对象的实际类型 基类指针是否可以强制类型转换为子类指针取决于动态类型! c++中如何得到动态类型? 解决方案-利用多态 1.在基类中定义虚函数返回具体的类型信息 2.所有的派生类都必须实现 ...
分类:
编程语言 时间:
2018-06-26 10:52:46
阅读次数:
221
类的大小只与成员变量(非static数据成员变量)和虚函数指针有关,还要考虑到对齐。 例:class A { A(){} virtual ~A(){} int m1; short m2; }; A的size=4+4(考虑对齐)+4(虚函数指针) = 12 ...
分类:
其他好文 时间:
2018-06-25 22:49:01
阅读次数:
180
代码重用就是继承父类的方法,达到方法(代码)重用的目的,而接口重用就是在多态中能够通过父类指针来调用子类的方法,当然这个需要用到虚函数和类型转化的支持,达到一个指针能够达到重复使用的目的(即接口重用) 1.代码重用(继承) 先来讲讲继承,基础的就不讲了,说下c++特有的多重继承,在说多重继承之前,先 ...
分类:
其他好文 时间:
2018-06-24 13:01:40
阅读次数:
177
1 区别 override关键字表示重写(覆盖),对于加上override关键字的属性或函数将完全覆盖基类的同名虚属性或虚函数,使基类的虚属性和虚函数在整个继承链中都不可见(在子类中用base关键字调用除外)。 new表示隐藏,是指加上new关键字的属性或函数将对本类和继承类隐藏基类的同名属性或函数 ...
学习资料 ? C++学习20 虚基类详解 虚基类 多继承时很容易产生命名冲突,即使我们很小心地将所有类中的成员变量和成员函数都命名为不同的名字,命名冲突依然有可能发生,比如非常经典的菱形继承层次。如下图所示: 类A派生出类B和类C,类D继承自类B和类C,这个时候类A中的成员变量和成员函数继承到类D中 ...
分类:
编程语言 时间:
2018-06-22 23:59:18
阅读次数:
311
new关键字与malloc函数的区别 new关键字是c++的一部分 malloc是由c库提供的函数 new以具体类型为单位进行内存分配 malloc以字节为单位进行内存分配 new在申请内存空间时可进行初始化 malloc仅根据需要申请定量的内存空间 构造函数不可能成为虚函数 在构造函数执行结束后, ...
分类:
其他好文 时间:
2018-06-22 01:03:48
阅读次数:
153
一.初始化列表(初始化列表中必须有的两个内容) 1.类中const的成员变量: ①特点:不能修改 必须初始化 在构造函数后面加冒号 格式为:“:变量名(值)” 也就是说 常量必须在初始化列表中初始化 ②执行顺序:构造函数先执行初始化列表 然后执行函数中的内容 2.组合关系的类中的构造函数有参数: ① ...
分类:
编程语言 时间:
2018-06-18 16:09:11
阅读次数:
193
前言 最近面试的时候面试官问了这样的问题,自己虽然大致知道他们之间的区别,但当时面试时有些逻辑混乱。所以面试完想好好总结一番。 虚函数 C++的虚函数主要作用是“运行时多态”,父类中提供虚函数的实现,为子类提供默认的函数实现。简要来说就是子类可以重写父类的虚函数实现子类的特殊化 纯虚函数 C++中包 ...
分类:
其他好文 时间:
2018-06-17 00:14:45
阅读次数:
188
最近在读完陈硕大牛的《Linux多线程服务端编程》以及muduo源码后,对其中的一些实现细节有着十分深刻的印象,尤其是使用std::bind和std::function的回调技术。可以说,这两个大杀器简直就是现代C++的“任督二脉”,甚至可以解决继承时的虚函数指代不清的问题。在此详细叙述使用std: ...
分类:
其他好文 时间:
2018-06-16 19:11:00
阅读次数:
196