base-class相关内容

构造函数和析构函数继承

我相信构造函数和 基类中的析构函数 不能由基类的派生类继承。我的理解是否正确。 解决方案 您的理解是正确的。例如,如果你有 class Base { Base(int i){} }; class派生:public Base {}; 派生d(3); 这将无法编译,因为Base构造函数未被继承。 请注意,如果可能,编译器会创建默认和复制构造函数 ..
发布时间:2018-08-03 16:13:35 C/C++开发

Scala:如何使我的不可变类更容易子类化?

我最近创建了一个支持+, - 等操作的不可变类,它在更改时返回该类的新实例。 我想要的使该类的子类添加一些状态和功能,但现在我遇到了一个问题,即所有原始类的方法都返回自身的实例而不是子类。 根据我目前对Scala的有限了解,我可以想出这个: class Foo(val bar: Int){ def copy(newBar:Int)= new Foo(newBar) def ..
发布时间:2018-08-03 15:56:22 其他开发

基类方法可以返回派生类的类型吗?

基于我读过的其他帖子,似乎这可能是不可能的,但我想我会发布我想要做的事情,看看是否有人知道解决方案。 我正在尝试向Telerik Open Access域模型生成的类添加“Clone()”方法。没问题。我能够弄清楚如何将基类添加到生成的实体模型中,以便我可以通过它们的基类来识别这些类。 (所有实体都从基类继承 ) 我希望所有这些实体模型类能够克隆自己。我也找到了解决方案。 (深度克隆对 ..
发布时间:2018-08-03 15:17:12 C#/.NET

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

我需要扩展Networkx python包并为我的特殊需要添加一些方法到 Graph 类 我想这样做的方法是简单地派出一个新类说 NewGraph ,并添加所需的方法。 然而,networkx中有几个其他函数可以创建并返回 Graph 对象(例如生成一个随机图)。我现在需要将这些 Graph 对象转换为 NewGraph 对象,以便我可以使用我的新方法。 这样做的最佳方式是什么? ..
发布时间:2018-08-03 14:21:39 Python

在派生类中提升基类事件C#

我有一个基类DockedToolWindow:Form,以及从DockedToolWindow派生的许多类。我有一个容器类,它将事件保存并分配给DockedToolWindow对象,但是我想从子类中调用事件。 我实际上有一个关于如何实现的问题这个 MSDN网站正在告诉我这样做。以下这一节给我的问题: //事件。请注意,通过使用通用的EventHandler事件类型 //我们 ..
发布时间:2017-08-31 06:09:31 C#/.NET

基类构造函数会自动调用吗?

class Person { public int age; public Person() { age = 1; } } 类客户:人 { public Customer() { age + = 1; } } 客户customer = new Customer(); 客户的年龄是2吗?似乎基类的构造函数将被调用无论什么。如果是,为什么我 ..
发布时间:2016-12-29 16:48:32 C#/.NET

自动调用C ++基类方法

我尝试实施命令设计模式,但我绊倒了一个概念问题。让我们假设你有一个基类和几个子类,如下面的例子: 类命令:public boost :: noncopyable { virtual ResultType operator()()= 0; //在命令执行之前恢复模型状态。 virtual void undo()= 0; //在命令堆栈上注册此命令。 void reg ..
发布时间:2016-11-23 13:32:52 C/C++开发

如何在编译时查询类的所有基类?

使用 std :: is_base_of :: value ,可以检查类 A 基类 class B 。 也可以查询编译器的类 B 的所有基类,例如, base_classes_of 返回包含 B 的所有基类的std :: tuple? 有evtl。 g ++中的非标准扩展可以实现这一点? 如果这是不可能的,有没有人知道为什么?这听起来像一个相当根本的 的信息, ..
发布时间:2016-11-06 03:18:07 C/C++开发

传递抽象参数到方法,为什么不?

我写了一个抽象类(使用 虚函数),我想有一个方法接受一个这样的类作为参数。鉴于类是抽象的,我理解我不能将一个抽象类传递给任何方法,但为什么不能将一个抽象类的子类传递给该方法?如何指定参数应该是指定基类的任何子类? 解决方案 您需要将参数指定为指针(或引用),例如。 Abstract * 而不是 Abstract 。如果 Derived 继承自 Abstract ,则可以传递 Derived ..
发布时间:2016-10-29 21:18:56 C/C++开发

通过在基类中声明复制构造函数/运算符private,可以使派生类不可复制?

我认为这个问题的答案是肯定的。 然而,在实践中,我的编译器(VS2010)似乎没有抱怨在以下情况:我有一个抽象基类提供一些通用接口(但没有数据成员),以及派生自它的各种子和子类。 class Base { public: Base(){} virtual〜Base(){} virtual void interfaceFunction1() virtual vo ..
发布时间:2016-10-27 00:14:15 C/C++开发

C ++:受保护类构造函数

如果一个类总是要被继承,是否有必要使构造函数 protected ? class Base { protected: Base(); }; class Child:protected Base { public: Child():Base(); }; 谢谢。 解决方案 这只有当你不想让客户端创建 Base 的实例时,才是有意义的,而不是 ..
发布时间:2016-10-26 22:30:01 C/C++开发