问题标签 [derived-class]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
328 浏览

c++ - 如何为我不知道真实类型的对象分配内存?C++

我想将某个派生类的对象存储为另一个对象的属性。

我的问题是要知道要存储的对象的大小,因为它可以是给定基类的任何派生类。我不能只为基类的对象分配内存,对,因为它更小。我想,typeof运算符也只会给出基类的大小,对吧?

这是我的示例代码。请参阅评论以了解我的意思。请原谅我的原创性......</p>

我可以存储一个指针而不是对象本身,这样会更容易。但我不确定我是否要依赖调用者在 instanceB 的生命周期内保留属性对象

谢谢!

0 投票
3 回答
391 浏览

c# - C#:如何在基类的构造函数中使用派生类的 const 变量

提前致谢,

我的情况是我有一个名为Vehicle的抽象类,它包含:

问题是列表中的轮胎数量是在派生类中确定的,并且在一个和另一个之间有所不同,但是实例化所需的代码是相同的,因此我非常希望避免代码重复并放置该代码(即在抽象Vehicle类的构造函数中实例化m_Tires )。

我首先想到使用protected abstract void initializeTires();在派生类中实现并从Vehicle 的构造函数中调用。我在这里看到它的编程很糟糕并且容易出错。

所以长话短说:是否有可能避免这里的代码重复,或者我只需要和它和平相处?

0 投票
1 回答
774 浏览

c# - 从泛型类型确定类型派生

我有以下实用程序例程来确定类型是否派生自特定类型:

(其实不知道有没有更方便的方法来测试推导...)

问题是我想确定一个类型是否派生自泛型类型,但没有指定泛型参数。

例如我可以写:

但我需要的是以下

我怎样才能实现它?


基于Darin Miritrov的示例,这是一个示例应用程序:

0 投票
3 回答
879 浏览

c++ - 如何使用 C++ 中的模板编程从基类创建派生类?

我需要从一个基类创建多个类(超过 50 个),唯一的区别在于派生类的名称。

例如,我的基类定义为:

我必须从这个基类创建很多派生类,每个派生类都有自己的构造函数、复制构造函数和虚拟析构函数,目前我正在复制/粘贴代码,在必要时更改名称:

问题:是否有某种方法可以使用模板创建这些类,这样就不会重复执行?

0 投票
3 回答
6085 浏览

c++ - 奇怪的错误 c2660“函数不接受 1 个参数”

我的基类有这个功能

当派生类调用该函数时

我收到错误 C2660:“函数不接受 1 个参数”。

这是为什么 ?

0 投票
3 回答
298 浏览

c# - 访问抽象对象的具体属性?

我猜是一个基本问题,但是如果我希望一个对象拥有另一个类型为 A 或 B 的对象,那么使用该对象的应用程序如何访问特定属性?例如

0 投票
5 回答
1250 浏览

c++ - 基类 -> 派生类,反之亦然 C++ 中的转换

我有以下示例代码:

我无法编译它,G++ 会抛出一个错误:

我知道 C++ 大师的错误很明显,但我不明白为什么我不能从基类对象转换为派生对象。有人可以建议我解决我遇到的问题吗?谢谢你的建议

0 投票
5 回答
2474 浏览

c++ - 派生自同一类的类的 C++ 子类

为什么以下继承结构在 C++ 中不合法?

  • Son1 派生自 Father1
  • Son2 派生自 Father1
  • GrandSon1 派生自 Son1 和 Son2

如果可能存在合法的情况(也许如果所有类都是纯虚拟的,除了 GrandSon1),它们是什么以及如何产生的?

0 投票
4 回答
378 浏览

c++ - 如何重载和调用先前在其基类中定义的派生类中的方法?

这是基类:

这是派生类:

给定的错误是:

第 29 行:IntelliSense:不存在从“std::pair”到“long double”的合适转换函数

第 29 行:IntelliSense:函数调用中的参数太少

显然,问题是我无法从派生类访问基类中的方法,即使它是公共定义的。

如何使此代码工作?

(我的 IDE 是 Visual Studio 2010。)

0 投票
4 回答
3960 浏览

c# - 具有抽象类作为参数的方法

我有一个抽象类 A,我在其中派生了类 B 和 C。类 A 提供了一个抽象方法 DoJOB(),它由两个派生类实现。

有一个类 X,里面有方法,需要调用 DoJOB()。X 类可能不包含任何代码,如 B.DoJOB() 或 C.DoJOB()。

例子:

在实例化类 XI 时要决定必须使用哪个派生类(B 或 C)。我考虑过使用 X 的构造函数传递 B 或 C 的实例。

我的测试表明,使用参数 A 声明方法不起作用。我错过了什么吗?我怎样才能正确地实现这一点?

(A是抽象的,不能实例化)

编辑: 对不起,我忘记了。

A 类是一个通用的抽象单例:

请参阅示例: http ://www.c-sharpcorner.com/UploadFile/snorrebaard/GenericSingleton11172008110419AM/GenericSingleton.aspx

在标题“将通用单例作为抽象类的解决方案”下