精华内容
下载资源
问答
  • 报错问题:在定义ORB对象的时候报错,不允许使用抽象类型“cv::ORB”的对象 为什么会报错? 角点检测的几个方法(SURF,SIFT,ORB)都被转移opencv_contrib中了。所以版本之间有差异。 这是转移前的写法: ORB orb; ...
  • //抽象cpu嘞 class CPU { public: virtual void calculate() = 0;//抽象函数 }; class VideoCard { public: virtual void display() = 0;//抽象函数 }; class Memory { public: virtual void storage() &...
  • //必须先删除左右子女树再删除自己,若先删除自己,则leftChlid,rightChild存在,无法访问子女树 } } template BinTreeNode<T> * BinaryTree<T>::GetParent(BinTreeNode<T> * subTree, BinTreeNode<T> ...
  • 不允许使用抽象类型

    万次阅读 2017-07-20 14:46:00
    C++没有C Sharp中的关键字abstract,但是当一个类中有一个或多个纯虚函数的时候,这个类就自动成为了抽象类,即可以实例化。 纯虚函数是一种特殊的虚函数,在许多情况下,在基类中能对虚函数给出有意义的实现,...

    C++没有C Sharp中的关键字abstract,但是当一个类中有一个或多个纯虚函数的时候,这个类就自动成为了抽象类,即不可以实例化。

    纯虚函数是一种特殊的虚函数,在许多情况下,在基类中不能对虚函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给该基类的派生类去做。这就是纯虚函数的作用。

    http://blog.csdn.net/wangshubo1989/article/details/49953095

    展开全文
  • 报的问题: cv::FastFeatureDetector fast 检测的阈值为0 为什么会报错? 角点检测的几个方法(SURF,SIFT,ORB)都被转移opencv_contrib中了。所以版本之间有差异。 这是转移前的写法: cv::FastFeatureDetector fast...

    报的问题: cv::FastFeatureDetector fast 检测的阈值为0

    为什么会报错?
    角点检测的几个方法(SURF,SIFT,ORB)都被转移opencv_contrib中了。所以版本之间有差异。

    这是转移前的写法:

    cv::FastFeatureDetector fast(15); 
    fast.detect(img, keypoints);
    

    这种是转移后的写法:

    Ptr<FeatureDetector> fast = FastFeatureDetector::create(40);
    fast->detect(img, keypoints);
    

    希望大家能避开这个坑。

    展开全文
  • 使用OpenCV3.X进行特征检测类算法实现,使用SIFT、SURF、ORB算法函数进行例程学习改进时,参考学习别人的例程时,经常出现错误提示:未声明的标识符:SurfFeatureDetector”,或 如下类型错误提示: 或 或 ...

    1.错误描述:

    使用OpenCV3.X进行特征检测类算法实现,使用SIFT、SURF、ORB算法函数进行例程学习改进时,参考学习别人的例程时,经常出现错误提示:未声明的标识符:SurfFeatureDetector”,或

    如下类型错误提示:

     或

     

     

     2.原因分析:

    出现此类问题的原因是:

    (1)OpenCV3.X中,xfeature2d模块作为一个独立的模块,转移到独立的第三方库中,官方发行的OpenCV3中并没有包含;

    (2)若使用的是源码编译,并确认已经编译xfeature2d模块库进去;或者其他方式的已包含xfeature2d算法模块;那么问题可能就是:没有正确的包含文件路径;

    (3)没有正确的使用类,类型使用错误或者不合规范。

    (4)其他原因

    3.解决方案:

    (1)检查使用环境与配置情况:确保已包含xfeature2d第三方库;查询方法参考:

    找到安装目录,include文件夹下opencv2文件中查看,如图所示:

    (2) 在你的项目程序中正确包含头文件路径,参考如下:具体看个人配置环境目录路径

    (3)正确使用类型名/类名/智能指针/构造函数:

    可将对应变量改成如下形式:

     Ptr<xfeature2d库中类的变量类型> 变量名 = 类::create();

    例如:

    又如: 

     

     

    编译——>运行——>正常!

    问题解决! 

    提示:若以上方法还不能解决此类问题,多半是环境配置的原因,请着重检查!

    本人测试环境:Win10-X64  : VS2013+OpenCV3.4.3+opencv_contrib3.4.3

    欢迎交流~

    展开全文
  • 抽象类为什么能创建对象

    千次阅读 2020-07-10 17:24:06
    抽象类是什么? 抽象类往往用来表征对问题...在面向对象方法中,抽象类主要用来进行类型隐藏和充当全局变量的角色。 通过上面的阐述,大家应该对抽象类有了一个大概的认识吧!但是对纯虚拟函数和抽象方法分别是什..

    抽象类是什么?

    抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。

    通常在编程语句中用 abstract 修饰的类是抽象类。在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象;在java中,含有抽象方法的类称为抽象类,同样不能生成对象。

    抽象类是不完整的,它只能用作基类。在面向对象方法中,抽象类主要用来进行类型隐藏和充当全局变量的角色。

     通过上面的阐述,大家应该对抽象类有了一个大概的认识吧!但是对纯虚拟函数和抽象方法分别是什么还是有一定的模糊

    纯虚函数:纯虚函数是一种特殊的虚函数,在许多情况下,在基类中不能对虚函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给该基类的派生类去做。这就是纯虚函数的作用。

    纯虚函数也可以叫抽象函数,一般来说它只有函数名、参数和返回值类型,不需要函数体。这意味着它没有函数的实现,需要让派生类去实现。

    抽象方法:java中的抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说抽象方法只需要声明而不需要实现。

    为什么抽象类还不能创建对象? 

    首先与具体的类作比较:

    1. 抽象类不能直接实例化,并且对抽象类使用 new 运算符会导致编译时错误。虽然一些变量和值在编译时的类型可以是抽象的,但是这样的变量和值必须或者为 null,或者含有对非抽象类的实例的引用(此非抽象类是从抽象类派生的)
    2. 允许(但不要求)抽象类包含抽象成员。
    3. 抽象类不能被密封。

     与接口作比较:

    相同点——不能实例化、包含未实现的方法声明、派生类必须实现未实现的方法,抽象类是抽象方法,接口则是所有成员(不仅是方法包括其他成员)

    不同点——

    1. 类可以实现无限个接口,但仅能从一个抽象(或任何其他类型)类继承,从抽象类派生的类仍可实现接口,从而得出接口是用来解决多重继承问题的。
    2. 抽象类当中可以存在非抽象的方法,可接口不能,且它里面的方法只是一个声明必须用public来修饰没有具体实现的方法。
    3. 抽象类中的成员变量可以被不同的修饰符来修饰,可接口中的成员变量默认的都是静态常量(static final)
    4. 抽象类是对象的抽象,然而接口是一种行为规范。

    在Java中的应用:

    1. abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface
    2. 在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在 interface中一般不定义数据成员),所有的成员方法都是abstract的。
    3. abstract class和interface所反映出的设计理念不同。其实abstract class表示的是"is-a"关系,interface表示的是"like-a"关系。
    4. 实现抽象类和接口的类必须实现其中的所有方法。抽象类中可以有非抽象方法。接口中则不能有实现方法
    5. 接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值
    6. 抽象类中的变量默认是 friendly 型,其值可以在子类中重新定义,也可以重新赋值、
    7. 接口中的方法默认都是 public,abstract 类型的
    展开全文
  • 抽象数据类型

    千次阅读 2016-09-28 16:42:34
    抽象数据类型 1.首先回顾一下程序设计语言中的数据类型 数据类型(data type)是一个值的集合和定义在这个值集上的一组操作的总称。 原子类型:如C/C++语言的整形、字符型等标准类型及指针等简单的导出类型和空类型...
  • 首先我们知道,一个类如果是抽象类,我们就能用这个类实例化一个对象。什么样的类是抽象类呢? C++没有C Sharp中的关键字abstract,但是当一个类中有一个或多个纯虚函数的时候,这个类就自动成为了抽象类,即...
  • 面向对象抽象

    千次阅读 2012-12-28 09:42:42
    抽象描述了一个对象的基本特征,可以将这个对象与所有其他类型对象区分开来,因此提供了清晰定义的概念边界,它与观察者的角度有关。 抽象关注一个对象的外部视图,用来分离对象的基本行为和实现。我们可以理解为...
  • java-面向对象编程-抽象

    千次阅读 2017-04-04 15:12:40
    但实际上,在面向对象的概念中,有一个知识点是极容易被人与接口混淆的,人们往往会误解为这两者是同一个概念。但不幸的是,两者虽然有相似之处,但却是完全一样的概念。那么,如此神秘的它到底是什么呢?让我们...
  • //数据结构基本概念 ...数据是一个抽象的概念,将其进行分类后得到程序设计语言中的类型。如:int,float,char等等 数据项:一个数据元素由若干数据项组成 数据元素:组成数据对象的基本单位 数据对...
  • Part 1 抽象类和对象的上转型对象 1、abstract方法只允许声明不允许实现; 2、abstract类能用new运算符创建对象; 3、若一个非抽象类是某个抽象类的子类,则它必须重写父类的抽象方法并给出方法体(也可以...
  • 3.2、抽象一个类和实例化对象

    千次阅读 2018-03-28 19:20:36
    一、抽象一个类 二、实例化对象 1、实例化对象 2、对象类型在内存中分配情况 三、$this 四、构造函数和析构函数
  • JAVA面向对象抽象类和接口

    千次阅读 2015-12-25 16:19:44
    抽象类与接口比较前面为大家介绍了类的相关概念以及使用方式,在Java中有两种特殊的类,分别为抽象类和接口(本质上还是类),这一片博客就为大家介绍一下抽象类以及接口的使用。对这两种特殊的类进行比较。抽象类...
  • 深入理解Java类型信息(Class对象)与反射机制

    万次阅读 多人点赞 2017-05-01 23:19:19
    【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) ...深入理解Java类型信息(Class对象)与反射机制 深入理解Java枚举类型(enum) 深入理解Java注解类型(@Annotation) 深入理解
  • JAVA面向对象四大特性:多态、继承、抽象、封装

    千次阅读 多人点赞 2018-04-20 15:40:06
    一个接口,多种实现)面向对象的四大特性:封装、继承、多态、抽象。从一定角度来看,封装和继承几乎都是为多态而准备的。是最重要的知识点。多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据...
  • 从基本数据类型抽象数据类型

    千次阅读 2018-07-03 14:49:40
    在冯 · 诺依曼体系结构中,程序代码和数据都是以二进制存储的,因此,对计算机系统和硬件本身而言,数据类型的概念其实是存在的。机器指令和汇编语言中,数据对象是用二进制数表示的,内存里存的都是二进制,对于...
  • 1.1数据类型数据类型是每种编程语言可缺少的一部分。ANSI-C 有 int,double 和 char 这几种。程序员们很少满足于现状,而编程语言通常会提供了从预定义的类型创建新数据类型的机制。一种简单的方法是构造集合如数...
  • 在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这...
  • 一、抽象类 定义:在普通类的基础上扩充了一些抽象方法 。 1. 抽象方法:只声明而未实现...抽象类中没有具体实现,因此抽象能直接实例化对象 abstract class Person{ private String name;//姓名属性 ...
  • 关于C++抽象类建立对象的问题

    千次阅读 2017-02-04 10:18:06
    抽象类是无法建立对象、但可以定义指针、该指针可以指向它的派生类,进而实现多态性
  • 软件构造之抽象数据类型

    千次阅读 2018-03-29 09:25:36
    什么是抽象抽象数据类型是软件工程中一般原理的一个实例,它有许多名称,其意义略有不同:抽象。用更简单,更高层次的概念来省略或隐藏底层细节。模块化。将系统划分为组件或模块,每个组件可以与系统的其他部分分开...
  • Java:接口和抽象类,傻傻分清楚?

    千次阅读 多人点赞 2019-04-26 07:28:15
    再来聊聊接口和抽象类。
  • Java中为什么要使用抽象

    千次阅读 2016-07-14 16:33:59
    然接口又比抽象类更抽象,这主要体现在它们的差别上:1)类可以实现无限个接口,但仅能从一个抽象(或任何其他类型)类继承,从抽象类派生的类仍可实现接口,从而得出接口是用来解决多重继承问题的。2)抽象类当中...
  • 抽象类的定义与使用

    万次阅读 多人点赞 2019-04-03 14:38:22
    抽象能直接产生实例化对象,因为抽象类是“半成品”,无法直接使用能直接new **抽象方法:**使用abstract 关键字定义并且没有方法体的方法。抽象方法所在类一定是抽象类。 abstract class Person{ ...
  • 抽象类型主要有两种应用方式: 1. 定义基本数值类型的隐式转换,如Int, Float, Void等,这种方式主要是Haxe核心数据部分在使用,一般开发中可能很少直接遇到; 2. 定义一个不透明的外包装类型(显式定义,显式使用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 292,144
精华内容 116,857
关键字:

不允许使用抽象类型的对象