derived-class相关内容

是否可以使用显式类型转换将基类对象分配给派生类引用?

是否可以在 C# 中使用显式类型转换将基类对象分配给派生类引用? 我已经试过了,但它产生了一个运行时错误. 解决方案 没有.对派生类的引用必须实际引用派生类的实例(或 null).否则你会如何期望它的行为? 例如: object o = new object();字符串 s = (字符串) o;int i = s.Length;//这可以明智地做什么? 如果您希望能够将基类 ..
发布时间:2021-12-31 21:27:39 C#/.NET

为什么我们从接口而不是类创建对象实例?

我已经多次看到从一个类生成一个接口实例.为什么我们这样使用接口?接口实例仅在派生类的帮助下创建,我们只能通过该实例访问这些接口成员.这如何带来优势?我好糊涂. interface IPrint{无效打印();}类示例:IPrint{公共无效打印(){Console.WriteLine("打印...");}公共无效样本(){Console.WriteLine("示例...");}}课程计划{静态无 ..
发布时间:2021-12-31 14:28:23 C#/.NET

如何在 C++ 中定义密封类?

如何阻止该类被其他类继承. 解决方案 C++11 解决方案 在 C++11 中,你可以在定义中使用 final 关键字来封装一个类: class A final//注意在类名后使用final关键字{//...};class B : public A//error - 因为 class A 被标记为 final(密封).{//所以 A 不能派生自.//...}; 要了解 final ..
发布时间:2021-12-17 19:40:13 C/C++开发

将基类转换为派生类 python(或更多 pythonic 扩展类的方式)

我需要扩展 Networkx python 包并向 Graph 类添加一些方法以满足我的特殊需要 我想这样做的方法是简单地派生一个新类,比如 NewGraph,然后添加所需的方法. 然而,networkx 中有几个其他函数可以创建和返回 Graph 对象(例如生成随机图).我现在需要将这些 Graph 对象转换为 NewGraph 对象,以便我可以使用我的新方法. 这样做的最佳方 ..
发布时间:2021-12-17 19:03:27 Python

C++ 从基类指针访问派生类成员

如果我分配一个 Derived 类的对象(具有 Base 的基类),并将指向该对象的指针存储在指向基类的变量中类,如何访问 Derived 类的成员? 这是一个例子: 类基础{上市:int base_int;};派生类:公共基础{上市:int 派生_int;};Base* basepointer = new Derived();基指针->//这里访问derivative_int,可以吗?如 ..
发布时间:2021-12-13 13:18:39 C/C++开发

如何在纯抽象类中实现克隆?

所以我想在我的派生类中覆盖纯抽象方法,但我收到了这个错误.谁能帮我看看发生了什么,我该如何完成. 我的设备类; class 设备 {民众:设备();设备(const Device& orig);虚拟 ~Device();虚拟设备克隆()= 0;} 还有我的派生类; class Radar : public Device {民众:雷达();//雷达(const Radar& orig); ..
发布时间:2021-11-26 16:38:17 C/C++开发

将此传递给基础构造函数

我正在尝试为我正在编写的程序实现良好的设计模式.我有这样的班级结构. 抽象类 SomeBase{公共 SomeObject obj { 获取;保护集;}受保护的 SomeBase(SomeObject x){obj = x;}//其他方法和字段...}公共类 SomeDerived : SomeBase{public SomeDerived() : base(new SomeObject(thi ..
发布时间:2021-11-25 09:52:49 C#/.NET

如何在纯抽象类中实现克隆?

所以我想在我的派生类中覆盖纯抽象方法,但我收到了这个错误.谁能帮我看看发生了什么,我该如何完成. 我的设备类; class 设备 {民众:设备();设备(const Device& orig);虚拟 ~Device();虚拟设备克隆()= 0;} 还有我的派生类; class Radar : public Device {民众:雷达();//雷达(const Radar& orig); ..
发布时间:2021-11-25 09:07:43 C/C++开发

对 argparse 参数解析器进行子类化

我正在尝试编写一个派生自 Python argparse ArgumentParser 类的解析器类.以下代码的大纲在命令行上运行良好,但在我的模块上下文中产生了一个我很难理解的错误. 代码(去掉了一些不重要的东西)如下: class SansParser(argparse.ArgumentParser):"""参数解析器,用于准备 SansModel 拟合或计算"""def __init ..
发布时间:2021-11-17 04:39:37 Python

使用量化约束导出Ord(forall a.Ord a => Ord (f a))

通过量化约束,我可以很好地推导出 Eq (A f) 吗?但是,当我尝试推导 Ord (A f) 时,它失败了.当约束类具有超类时,我不明白如何使用量化约束.如何派生 Ord (A f) 和其他具有超类的类? >newtype A f = A (f Int)>导出实例(forall a.Eq a => Eq (f a)) =>等式 (A f)>派生实例(forall a.Ord a => Ord ..

将派生类传递给基本函数

我无法将派生类传递给接受基类作为参数的函数.基类由“障碍物"组成,这些障碍物将放置在“木板"空隙Board :: setvalue(int length,int width,Obstacle&障碍物; 但是,这会导致编译器给出“参数的未知转换..."错误.在站点周围仔细阅读后发现,我应该将派生对象作为const传递,但是这会引起问题,因为无法将const分配给开发板(因为它持有指向非const障 ..
发布时间:2021-04-30 19:22:20 C/C++开发

使用带有参数的boost :: function共享指向派生类的指针

在Ubuntu 16.04上将C ++与g ++ 5.4.0结合使用. 我有一个类A和一个从类A派生的类B.函数f1将指向类A的共享指针作为参数.函数f2将指向类B的共享指针作为参数,并返回与f1相同的类型.使用boost :: function,另一个函数F将f1之类的函数作为参数.代码如下: result_t f1(const boost :: shared_ptr a);r ..
发布时间:2021-04-30 19:22:17 C/C++开发