inheritance相关内容

为什么我需要在成员初始值设定项列表中重复我的基类的模板参数?

我将一些代码从MSVC(没有许可-)移植到Linux,我了解到如果在类的初始化列表中调用模板基类的构造函数,则必须指定所有模板参数,否则会出现错误。 看起来有点多余,因为如果您在重新键入模板参数时出错,这是一个硬错误: 错误:类型‘Base<;int,true>;’不是的直接基或虚拟基 “派生的” 完整代码如下: template ..
发布时间:2022-02-21 12:21:36 C/C++开发

派生类中具有相同名称但不同签名的函数

我有一个同名的函数,但在基类和派生类中具有不同的签名.当我尝试在从派生继承的另一个类中使用基类的函数时,我收到一个错误.见以下代码: A 类{上市:无效 foo(字符串 s){};};B类:公共A{上市:int foo(int i){};};C类:公共B{上市:空栏(){字符串 s;富(S);}}; 我从 gcc 编译器收到以下错误: 在成员函数 `void C::bar()' 中:没有匹配 ..
发布时间:2022-01-30 16:29:12 C/C++开发

新建和覆盖之间的区别

想知道以下之间有什么区别: 案例 1:基类 public void DoIt(); 案例一:继承类 public new void DoIt(); 案例 2:基类 public virtual void DoIt(); 案例2:继承类 public override void DoIt(); 根据我运行的测试,案例 1 和 2 似乎具有相同的效果.有区别,还是首选方式? ..
发布时间:2022-01-30 10:36:43 C#/.NET

转换列表<DerivedClass>列出<BaseClass>

虽然我们可以从基类/接口继承,但为什么我们不能声明一个 List使用相同的类/接口? 接口A{ }B类:A{ }C类:B{ }类测试{静态无效主要(字符串 [] 参数){A a = 新 C();//行列表listOfA = 新列表();//编译器错误}} 有办法吗? 解决方案 完成这项工作的方法是遍历列表并转换元素.这可以使用 ConvertAll 来完成: 列表 ..
发布时间:2022-01-30 10:03:19 C#/.NET

为什么不从 List<T> 继承?

在规划我的项目时,我通常会从以下思路开始: 足球队只是足球运动员的名单.因此,我应该用: var football_team = new List(); 此列表的顺序代表球员在名册中列出的顺序. 但我后来意识到,除了球员名单之外,球队还有其他属性必须记录下来.例如本赛季总成绩、当前预算、球衣颜色、代表球队名称的字符串等. 那么我想: 好吧,一个足球队就像一个球员名单,但 ..
发布时间:2022-01-30 09:52:41 C#/.NET

为什么 Python 类会继承对象?

类声明是否有任何理由从 object 继承? 我刚刚找到了一些执行此操作的代码,但我找不到很好的理由. class MyClass(object):# 类代码如下... 解决方案 类声明是否有任何理由从 object 继承? 在 Python 3 中,除了 Python 2 和 3 的兼容性之外,没有理由.在 Python 2 中,原因很多. Python 2.x 故事 ..
发布时间:2022-01-30 08:24:01 Python

“对象"不包含“名称"的定义;

我收到一条错误消息,告诉我: “BankAccount.account"不包含“提款"的定义. 这是我的代码: 使用系统;使用 System.Collections.Generic;使用 System.Linq;使用 System.Text;命名空间银行账户{班级帐号{受保护的字符串名称;受保护的浮动余额;公众号(string n, float b){名称 = n;余额 = b;}公 ..
发布时间:2022-01-24 16:55:51 C#/.NET

未调用 C++ 覆盖的函数

我遇到了一个问题,即不调用重载函数,而是调用基函数.我怀疑这与项目文件之间的拆分方式有关. 在文件 obj1.h/obj1.cpp 我有这样的东西 类 obj1{上市:无效打印();};无效 obj1::print(){cout 在文件 obj2.h/obj2.cpp 我有这样的东西: #include "obj1.h"类 obj2:公共 obj1{上市:无效打印();};无效 ob ..
发布时间:2022-01-24 16:55:27 C/C++开发

铸造给孩子

我实际上想要做的是将构造的 moneypunct 转换为 this question 无需像 this answer 中那样编写复制构造函数. 但为了编写最小、完整、可验证的示例,假设我有这两个类: 父类{上市:父级(复杂& args);父操作符=(const Parent&) = delete;Parent(const Parent&) = 删除;父母()=默认;虚拟无效函数();私人的 ..
发布时间:2022-01-24 16:53:42 C/C++开发

java - 为什么使用java中的多态性从父类打印子私有字段时为空?

据了解,子类 BB 中的 getS 方法覆盖了父类 AA 中的相同方法.然而,尽管这两个类都初始化了由 getS 返回的字段 s,但它被打印为 null.为什么会这样? 这是代码: 公共类 AA {公共字符串 getS() {返回 s;}私有字符串 s = "hello1";公共AA(){System.out.println(service() + getS());}公共静态字符串服务() ..
发布时间:2022-01-24 16:53:08 Java开发