从派生类构造函数调用基类构造函数

2024-02-10

我有个问题:

假设我最初有这些无法更改的类(假设它们是从我正在使用的库中获取的):

class Animal_
{
public:
    Animal_();
    int getIdA()
    {
        return idA;
    };
    string getNameA()
    {
        return nameA;
    }
private:
    string nameA;
    int idA;
}

class Farm
{
public :
    Farm()
    {
        sizeF=0;
    }
    Animal_* getAnimal_(int i)
    {
        return animals_[i];
    }
    void addAnimal_(Animal_* newAnimal)
    {
        animals_[sizeF]=newAnimal;
        sizeF++;
    }
    
private:
    int sizeF;
    Animal_* animals_[max];
}

但后来我需要一个类,在其中添加几个字段,所以我这样做了:

class PetStore : public Farm
{
public :
    PetStore()
    {
     idF=0;
    };
private:
    int idF;
    string nameF;
}

但是,我无法初始化我的派生类。我的意思是我做了这个继承,所以我可以添加animals to my PetStore但现在自从sizeF是私人的我该怎么做?我想也许在PetStore我可以调用的默认构造函数Farm()...所以有什么想法吗?


的构造函数PetStore将调用构造函数Farm;有 你没有办法阻止它。如果你什么都不做(就像你所做的那样),它就会 调用默认构造函数(Farm());如果你需要传递参数, 您必须在初始化列表中指定基类:

PetStore::PetStore()
    : Farm( neededArgument )
    , idF( 0 )
{
}

(类似地,构造函数PetStore将初始化sizeF,通过调用构造函数Farm。类的构造函数always调用构造函数 它的所有基类及其所有成员。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从派生类构造函数调用基类构造函数 的相关文章

  • IIS应用程序池回收+quartz调度

    我正在 IIS 7 5 上运行一个 Web 应用程序 它需要偶尔回收 否则内存使用情况会失控 这是我正在研究的问题 当它回收时 它实际上不会运行 直到另一个请求到来 而quartz不会运行 有没有办法让IIS在回收应用程序池后立即自动启动1
  • 添加 Nullable int 时保持 null?

    我想添加可为空的int 并保留null当所有值都是null 我想要这个结果 1 2 3 1 null 1 null null null O null 0 问题是 如果我将一个值与 null 相加 结果为 null int i1 1 int
  • CMake 找不到请求的 Boost 库

    既然我已经浏览了其他人的解决方案几个小时 但找不到适合我的问题的正确答案 我想将我的具体问题带给您 我正在尝试使用 CMake 构建 vsomeip 为此 我之前构建了 boost 1 55 但是 我在 CMake 中收到以下错误 The
  • 有没有办法在 xcode 上使用 c++0x ?我想使用 gcc 4.4 或更高版本

    我想使用 gcc 4 4 或更高版本进行 iphone 开发 有人知道怎么做吗 不 你不知道 相信我 你不会 Apple 仍保留 gcc 4 2 1 因为 4 2 2 及更高版本使用 GPLv3 这意味着他们必须放弃对其平台的控制 对于 i
  • 在现代 C++ 中,临时生命周期延长何时有用?

    在 C 中 您可以将函数的返回值 返回值 而不是引用 绑定到 const 引用 并且代码仍然有效 因为该临时对象的生命周期将延长到作用域末尾 例如 std string get string return abc void f const
  • 将完整模板参数值映射到原始类型

    我想将数字映射到类型 在这个例子中 我将创建一个函数 将 sizeof 结果映射到有符号的原始类型 我想知道是否有更好的方法来完成我在现代 C 中所做的事情 即采用模板化值并将其转换为类型 现在 这可以将大小转换为已知类型 但我似乎无法在标
  • 解析 JWT 令牌以仅获取有效负载内容,无需 C# 或 Blazor 中的外部库

    我正在使用 Blazor 编写可以访问 JWT 的客户端应用程序 我想知道一种简单的方法来读取令牌有效负载内容而不添加额外的依赖项 因为我不需要其他信息 也不需要验证令牌 我认为解析有效负载内容应该足够简单 只需将其写入方法即可 JwtTo
  • 从代码中,如何创建对存储在附加属性中的对象的属性的绑定?

    我们有一个继承的附加属性来存储一个对象 在可视化树的更下方 我们希望从代码绑定到该对象的属性 通常我们像这样构建绑定的路径部分 var someBinding new Binding Path new PropertyPath Attach
  • std::call_once 可重入且线程安全吗?

    std call once http en cppreference com w cpp thread call once是线程安全的 但它也是可重入的吗 我使用 VS2012 调试和发布 进行的测试表明 调用std call once从单
  • Gwan C#,如何获取HTTP标头?

    我需要它来重写 url 以了解我正在处理哪个友好的 url 用于用户代理和其他东西 EDIT public class Gwan MethodImplAttribute MethodImplOptions InternalCall exte
  • 如何制作可启动程序?

    所以 这个问题可能看起来很奇怪 但假设我编译了 int main void int x 3 int y 4 int z x y 是否可以让CPU这样运行 如何 例如 这允许我写入监视器吗 如果我没记错的话 内存中有些地方可以写入要显示的内容
  • C# 5 async/await 线程机制感觉不对?

    为什么让调用线程进入异步方法直到内部 等待 一旦调用异步方法就生成一个线程 这不是更干净吗 这样您就可以确定异步方法会立即返回 您不必担心在异步方法的早期阶段没有做任何昂贵的事情 我倾向于知道某个方法是否要在 我的 线程上执行代码 不管是堵
  • C# 开源 NMEA 解析器 [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找 C 开源 NMEA 解析器 嗯 我自己也不熟悉 但是一些快速搜索显示了一个代码项目 htt
  • 如何在三个 IEnumerable 上使用 Zip [重复]

    这个问题在这里已经有答案了 可能的重复 使用 Linq 从 3 个集合创建项目 https stackoverflow com questions 5284315 create items from 3 collections using
  • C#6 中的长字符串插值行

    我发现 虽然字符串插值在应用于现有代码库的字符串 Format 调用时非常好 但考虑到通常首选的列限制 字符串对于单行来说很快就会变得太长 特别是当被插值的表达式很复杂时 使用格式字符串 您将获得一个可以拆分为多行的变量列表 var str
  • Project Euler #8,我不明白我哪里出了问题[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在做项目欧拉第八题 https projecteuler net problem 8 其中我得到了这个大得离谱的数字 7316
  • 在 OpenGL 中渲染纹理 1 到 1

    所以我想做的是使用 OpenGL 和 C 将纹理渲染到平面上 作为显示图像的一种方式 但是我需要确保在渲染纹理时没有对纹理进行任何处理 抗锯齿 插值 平滑 模糊等 这是 OpenGL 处理渲染纹理的默认方式吗 或者是否需要设置一些标志才能禁
  • 如何停止无限循环?

    我正在编写一个程序 该程序将计算三角形或正方形的面积 然后提示用户是否希望计算另一个 我的代码已经运行到可以计算任一形状的面积的程度 但随后不再继续执行代码的其余部分 例如 如果选择了正方形 则计算面积 然后返回到正方形边长的提示 我假设这
  • 需要提取字符串中点后的最后一个数字,如“7.8.9.1.5.1.100”

    我需要提取 C 字符串中最后一个点后面的最后一个数字 例如 7 8 9 1 5 1 100 并将其存储在整数中 Added 该字符串也可以是 7 8 9 1 5 1 1 或 7 8 9 1 5 1 0 我还想验证它在最后一个点之前恰好是 7
  • 通过 Tab 键浏览 XML 文档字段

    In VB NET you can move through the fields in the XML member documentation with the Tab key 这在 C 中不起作用 还有其他方法吗 除了用鼠标将光标放在

随机推荐

  • WTSSendMessage 不在远程桌面上显示消息框

    我有一个 Windows 服务应用程序 它显示确认弹出窗口以进行进一步操作 当我在本地计算机上安装服务应用程序时 它工作正常 但当我将其安装在远程计算机上时 不会显示确认弹出窗口 DllImport Kernel32 dll SetLast
  • 如何加快 Amicable 数字算法的速度?

    完成 100 000 的 limit n 需要相当长的时间 我怀疑问题出在计算友好 数字越大 计算时间就越长 我可以改变什么来使其速度比这更快 public static void Main string args CheckAmicabl
  • 多线程访问ArrayList

    我有一个 ArrayList 用于缓冲数据 以便其他线程可以读取它们 该数组不断地添加数据 因为它是从 udp 源读取的 而其他线程不断地从该数组读取数据 然后从数组中删除数据 这不是实际的代码 而是一个简化的示例 public class
  • 如何从裁剪后的图像中找到原始图像

    Hei guys I want to do a application regarding image processing but I dont know what to read first The ideea is that I wa
  • 为什么在二维缩放变换过程中文本变得模糊和摆动

    我想让这张卡在悬停时缩放 包括其中的元素 但文本在转换过程中 当您悬停卡时 摆动 抖动 并且在缩放期间和之后变得模糊 有时 某些比率比其他比率更大 我认为这是由于子像素值舍入所致 如何消除转换过程中的晃动和模糊 我不关心 IE 浏览器 我只
  • EF Core:渴望加载(.Include)子类别(自参考)

    我们有这样的东西 var categories context Categories Include Categories1 Categories1 Categories1 它可以工作并处理高达 4 级深度的子 类别 这对于现在来说已经足够
  • EF 代码优先外键

    我正在与 EF Code First 库合作 尝试开发约会安排应用程序 我的模型将是客户端 约会和约会类型 基本上每个客户端都可以有一组约会 每个约会可以有一个约会类型 代码如下 public class Client ScaffoldCo
  • 如何使用 statsmodels 中模型的常用包装器来应用交叉验证?

    我在这里阅读了相关讨论 使用 statsmodel 估计和 scikit learn 交叉验证 可能吗 https stackoverflow com questions 41045752 using statsmodel estimati
  • 反应路由器未捕获类型错误:无法读取未定义的属性“toUpperCase”

    我正在尝试使用react router 但是当我编写一个简单的路由时不起作用 并且控制台显示 Uncaught TypeError Cannot read property toUpperCase of undefined 否则 当我在没有
  • HTML5 缓存清单和内容类型

    我在读深入研究 HTML5 离线 Web 应用 缓存清单 http fortuito us diveintohtml5 offline html manifest 但必须与 内容类型文本 缓存清单 如果 您正在运行基于 Apache 的 W
  • 如何使用 Scala Guice 绑定一个使用单子类型参数扩展 Trait 的类?

    我需要绑定这个特征的实现 trait ClientRepository F def list F Iterable ClientDTO 对于这个实现 import cats effect IO Singleton class ClientR
  • ValueError:无法将字符串转换为浮点数:(pd.Series)

    我无法在下面的代码片段上执行 lambda 函数 我期望的目标是分别拆分列 btts x 和 btts y 以进行进一步的数学计算 lambda 函数在第一个位置列 btts x 上成功 请参阅 btts x 1 和 btts x 2 但在
  • Python-mock:如何测试 super() 是否被调用

    我有以下结构 class A Object def method self return a class B A def init self test self test test def method self if self test
  • 悬停时更改图像

    如何更改这个确切的代码以在鼠标悬停时实现悬停效果 我尝试遵循其他一些问题和答案 但我无法真正遵循它们 所以 HTML 是 a href RR html img src R3 jpg width 700 height 300 a div a
  • WPF XAML 在 IsEnabled 状态下更改图像不透明度

    当 IsEnabled 为 false 时 我希望图像的不透明度为 0 50 我一直在查看多个示例 但仍然无法掌握如何使其发挥作用 这是我的自定义控件的完整 XAML 任何帮助将不胜感激
  • Nodejs:如何返回具有相同响应(文本和图像)的不同内容类型?

    我正在尝试学习nodejs 我认为最好的方法是尝试在不使用express或任何其他非核心模块的情况下做一些事情 我一直在尝试同时传递一些文本和图像 我正在尝试的代码是 var http require http var fs require
  • oauth.io 订阅用户到 YouTube 频道

    我正在使用 oauth io https oauth io https oauth io 通过google facebook等对用户进行身份验证 身份验证后如何订阅用户到youtube频道 OAuth popup provider func
  • 使用 SSIS 脚本任务刷新 Excel

    我有一个 Excel 文件 它从数据库表中获取外部数据 我需要自动刷新文件并通过电子邮件发送 我打算使用 SSIS 脚本任务来运行一些 VB 脚本 这些脚本将打开文件 刷新数据 保存并关闭 显然不启动应用程序 然后我将使用电子邮件任务通过电
  • Angular 1.5 组件属性存在

    我正在将一些 Angular 指令重构为 Angular 1 5 样式组件 我的一些指令的行为取决于存在的某个属性 因此该属性没有特定的布尔值 根据我的指令 我使用链接函数完成此操作 link function scope elem att
  • 从派生类构造函数调用基类构造函数

    我有个问题 假设我最初有这些无法更改的类 假设它们是从我正在使用的库中获取的 class Animal public Animal int getIdA return idA string getNameA return nameA pri