草庐IT

multiple-interface-implem

全部标签

c++ - 如何查找 ActiveX 控件的接口(interface)?

给定一个ActiveX控件的实例,我如何枚举它的接口(interface)?(我想获取接口(interface)的名称)。 最佳答案 就像其他人提到的那样,唯一的方法是对所有可能的接口(interface)进行QueryInterface。而这正是Microsoft工具OleView为您所做的。 关于c++-如何查找ActiveX控件的接口(interface)?,我们在StackOverflow上找到一个类似的问题: https://stackoverflo

C++ 类设计为每个不同的行为提供多个接口(interface)

这是我的第一篇文章,所以请善待。这是我最近得到的一个面试问题,但我在搜索(google、C++FAQ等)后找不到答案。有一个行为b1()的接口(interface)I1。有3个类A,B,C。所有这些类都通过覆盖b1()来实现接口(interface)I1。有第四个类D,它具有在接口(interface)I1中定义的行为(b1)和一个额外的行为b2问题是你如何设计D类。我的答案是创建另一个接口(interface)I2,它定义行为b2()并通过覆盖b1()和b2()使类D实现I1和I2(C++中的多重继承)面试官同意这个解决方案,但问如果将来出现具有新行为的新类(class),我们将如何

c++ - 制作 : pattern rule matching multiple extensions

我有几个扩展的重复模式规则(例如:cpp和cc):$(OBJ_DIR)/%.o:$(SRC_DIR)/%.cpp@$(CXX)$(CPPFLAGS)-I.-o$@-c$?$(OBJ_DIR)/%.o:$(SRC_DIR)/%.cc@$(CXX)$(CPPFLAGS)-I.-o$@-c$?有没有办法让一个模式规则在两个扩展上都匹配,而不是必须有两个规则? 最佳答案 不,您不能将这两个规则结合起来。所有先决条件都必须匹配。但是您可以避免需要两次指定配方。通过使用配方定义:defineCOMPILE@$(CXX)$(CPPFLAGS)-I

c++ - 我可以将一个对象类转换为它在其中实现的接口(interface)指针吗?

我定义了一个接口(interface)类,如下所示。classIRecyclableObject{public:virtual~IRecyclableObject(){}virtualvoidrecycle()=0;virtualvoiddump()=0;virtualintgetRecycleTypeID()=0;};下面是我的CharacterAI类,它继承了另一个类并实现了上面的接口(interface)类。定义如下。classCharacterAI:publicharp::Character,publicharp::IRecyclableObject{public:Charac

c# - 接口(interface)和 header

今天我遇到了C#接口(interface)的概念,我有一个希望很简单的问题,看看我是否理解它们......它们与C++头文件非常相似吗?我的意思是,据我所知,您定义了一个类的主干,但实际上没有定义它的作用,这有点类似于标题,对吗?我阅读了整个MSDN定义,它并没有真正让我100%清楚。我相信我有这个想法(编写并附上了一个非常初级的程序,看看我是否理解)但是我至少在明天晚上之前完全理解它们的基础知识是非常重要的。示例:namespaceInterfaceTest{classProgram{staticvoidMain(string[]args){KitchenStaffnewKitche

java - 在 C++ 中重叠类似 java 的接口(interface)

我在很多地方都读到过,Java的接口(interface)可以使用C++的抽象类和所有纯虚拟方法100%模拟。我正在尝试转换这段java代码:interfaceA{voida();}interfaceBextendsA{voidb();}classCimplementsA{publicvoida(){}}classDextendsCimplementsB{publicvoidb(){}}Dd=newD();d.a();d.b();在C++中变成这样的东西:classA{public:virtualvoida()const=0;protected:virtual~A(){}};class

c# - 在C++中定义一个需要在C#和C++中实现的接口(interface)

我有一个用C++定义的接口(interface),现在需要用C#实现。最好的方法是什么?我根本不想在我的接口(interface)定义中使用COM。我现在解决这个问题的方法是有两个接口(interface)定义,一个在C++中,一个在C#中。然后,我将C#接口(interface)公开为COM服务器。这是我用C++编写的应用程序可以调用C#。无论如何我可以避免在C++和C#中定义我的实现吗? 最佳答案 如果您愿意为托管代码使用C++/CLI而不是C#,那么您可以直接通过头文件使用nativeC++接口(interface)定义。这将

c++ - 如何在 C++ 中实现多个 COM 接口(interface)?

我正在努力理解thisexamplecode关于浏览器帮助对象。在内部,作者实现了一个公开多个接口(interface)(IObjectWithSite、IDispatch)的类。他的QueryInterface函数执行以下操作:if(riid==IID_IUnknown)*ppv=static_cast(this);elseif(riid==IID_IObjectWithSite)*ppv=static_cast(this);elseif(riid==IID_IDispatch)*ppv=static_cast(this);我了解到,从C的角度来看,接口(interface)指针只是

java - 编写与 Python 接口(interface)的非常快速的抽象的语言选择?

我有一个目前用Python编写的系统,可以分为后端和前端层。Python太慢了,所以我想用一种快速编译的语言重写后端,同时将前端保留在Python中,以一种允许从Python调用后端功能的方式。这样做的最佳选择是什么?我考虑过cython,但它非常有限且编写起来很麻烦,而且速度也不是那么快。根据我对BoostPythonforC++的内存,维护语言之间的桥梁非常烦人。有更好的选择吗?我的主要因素是:执行速度编译速度语言是陈述性的 最佳答案 C++SWIG可以生成您需要的所有胶水代码。只要您避免在C++和Python之间过度跳转,它就

c++ - 如何使用 autotools 在构建库的同时构建 Python 接口(interface)

我目前有一个用C++编写的库,使用GNU自动工具构建,我想向它添加一个Python接口(interface)。我使用SWIG开发了界面,但我在弄清楚如何将Python模块的编译与其余过程集成时遇到了一些问题。我已经查看了AM_PATH_PYTHON,但是这个宏似乎没有为Python.h设置包含路径,所以当我编译我的模块时,我得到了一堆关于缺少包含文件的错误。有没有办法从AM_PATH_PYTHON中获取Python包含路径和ldflags?仅作记录,我认为不可能使用Python的distutils方法(setup.py),因为这需要库的位置才能链接新模块。由于该库在编译时尚未安装,我将