草庐IT

继承权

全部标签

c++ - 策略继承和不可访问的 protected 成员

似乎无法访问模板策略类中的protected成员,即使类层次结构看起来是正确的也是如此。例如,使用以下代码片段:#includeusingnamespacestd;templateclassA{protected:Tvalue;TgetValue(){returnvalue;}public:A(Tvalue){this->value=value;}};templateclassA>classB:protectedA{public:B():A(0){/*Fakevalue*/}voidprint(A&input){coutb;Aa(42);b.print(a);}编译器(在OSX上为cl

c++ - 继承和命名空间

我正在尝试使用一些namespace使用我的第一个有用的面向对象程序。我有一个基类B,它位于命名空间NS中。如果我尝试从中继承基类获得继承工作,我应该在类decleration中使用NS::B,如下所示,真的是这样吗?或者对于这种继承语法是否有更广泛接受的语法?namespaceNS{classD:publicNS::B{...};}最好的,乌穆特 最佳答案 如果您的D在namespaceNS中,您不必限定NS::B,因为D和B在同一个命名空间中。您可以只使用classD:publicB。

c++ - 用继承和多态重载 '<<'?

以下是代码的粗略示例,问题是我如何让DerivedOne和DerivedTwo具有重载的至于我想达到什么;我希望能够遍历对象vector并在DerivedOne和DerivedTwo中输出我告诉它的信息。vectorobjects;classBase{private:objectDatapublic:objectgetData(){returnData;}};classDerivedOne:publicBase{}classDerivedTwo:publicBase{}现在我知道有这个,但它对我的目的不起作用。friendostream&operator 最

C++ 模板和继承

我的C++框架有按钮。Button派生自Control。因此接受Control的函数可以将Button作为其参数。到目前为止一切顺利。我还有列表吨>。但是,列表Button>不是从列表派生的Control>,这意味着接受控件列表的函数不能将按钮列表作为其参数。这很不幸。也许这是个愚蠢的问题,但我不知道该如何解决:(ListButton>应该派生自ListControl>,但我没有看到使这种情况“自动”发生的方法。 最佳答案 Stroustrup在他的常见问题解答中有一个关于此的项目:Whycan'tIassignavectortoa

C++ 多重继承与接口(interface)?

大家好我来自Java背景,我在多重继承方面遇到困难。我有一个名为IView的接口(interface),它具有init()方法。我想派生一个名为PlaneViewer的新类来实现上述接口(interface)并扩展另一个类。(QWidget)。我的实现是这样的:IViwer.h(只有头文件,没有CPP文件):#ifndefIVIEWER_H_#defineIVIEWER_H_classIViewer{public://IViewer();///virtual//~IViewer();virtualvoidinit()=0;};#endif/*IVIEWER_H_*/我的派生类。Plan

c++ - 尝试从 std::runtime_error 继承时出现编译错误

我正在尝试在Ubuntu下用g++编译它:#ifndefPARSEEXCEPTION_H#definePARSEEXCEPTION_H#include#include#includestructParseException:publicstd::runtime_error{explicitParseException(conststd::string&msg):std::runtime_error(msg){};explicitParseException(conststd::string&token,conststd::string&found):std::runtime_error

ios - 显示 Root View Controller 后黑屏,仅在继承 PayPalPaymentDelegate 时

问题是当一个继承了PayPalPaymentDelegate的类时,我仅在启动画面后出现黑屏。起初我以为这是我的PayPalMobile绑定(bind)所以我使用了这个PayPalMobilebinding亚历杭德罗。我使用他的绑定(bind)和我的绑定(bind)得到了相同的结果。我跑了Alejandrosampleapp它完美地工作。我不知道为什么我的黑屏。什么可能导致我的项目出现此问题?到目前为止我做了什么:我将部署目标从8.4更改为9.2,并将主界面从none更改为LoginViewController,并收到了同样的问题。制定了一个新的解决方案,添加了我的PayPalMobi

ios - 如何在 Swift 和 ObjectMapper 中使用继承?

我是Swift的新手,我必须在我的iOS(iOS>=8)项目中将对象结构序列化为JSON字符串。所以我决定使用ObjectMapper库(我将它与Cocoapod集成)。但我的问题是结构如下。ObjectA可以将子对象列表作为存储在实例变量中的数组。可以存储在实例数组中的对象可以是多种类型,比如ObjectB和ObjectC。因此,在带有GSON的Java中,我会创建一个InterfaceD并使我的两个类都实现它,并使ObjectA中的数组存储InterfaceD类型,但我无法弄清楚如何使用Swift对象模型执行此操作,因为它会导致空{}JSON对象。生成的JSON应如下所示。{"ch

Swift 协议(protocol)继承和协议(protocol)一致性问题

protocolBasePresenterProtocol:class{}protocolDashboardPresenterProtocol:BasePresenterProtocol{}finalclassDashboardPresenter{weakvarview:DashboardPresenterProtocol?init(){self.view=DashboardViewController()}functest(){print("Hello")}}extensionDashboardPresenter:DashboardViewProtocol{}protocolBase

C# 继承、多态性、抽象和接口详解:从入门到精通

C#继承在C#中,可以将字段和方法从一个类继承到另一个类。我们将“继承概念”分为两类:派生类(子类)-从另一个类继承的类基类(父类)-被继承的类要从一个类继承,使用:符号。在以下示例中,Car类(子类)继承了Vehicle类(父类)的字段和方法:示例classVehicle//基类(父类){publicstringbrand="Ford";//车辆字段publicvoidhonk()//车辆方法{Console.WriteLine("Tuut,tuut!");}}classCar:Vehicle//派生类(子类){publicstringmodelName="Mustang";//汽车字段}c