在其他类构造函数中使用参数化构造函数

2024-04-11

我担心这是一个非常基本的问题,但是我还无法解决它。

我有一个class A

// classA.h
...

class ClassA {
    public:
        ClassA();
        ClassA(int foo);
    private:
        int _foo;

    ...

}

// classA.cpp

ClassA::ClassA() {
    _foo = 0;
}

ClassA::ClassA(int foo) {
    _foo = foo;
}

...

一秒class B使用一个实例class A在构造函数中:

// classB.h
...

#include "classA.h"

#define bar 5

class ClassB {
    public:
        ClassB();
    private:
        ClassA _objectA;

    ...

}

// classB.cpp

ClassB::ClassB() {
    _objectA = ClassA(bar);
}

...

请注意,默认构造函数class A从未使用过。事实上,在我的现实世界用例中,使用任何类型的默认构造函数都没有意义_foo必须动态分配。

但是,如果我删除默认构造函数,编译器将返回错误:

没有匹配的函数来调用“ClassA::ClassA()”

有没有办法使用实例class A作为一个对象class B没有定义默认构造函数class A?这将如何完成?


默认构造函数ClassA用来。ClassB's _objectA用它初始化并且then你分配ClassA(bar) to it.

您可以使用以下方法解决您的问题构造函数初始值设定项列表 http://en.cppreference.com/w/cpp/language/initializer_list:

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

在其他类构造函数中使用参数化构造函数 的相关文章

  • 如何验证文件名称在 Windows 中是否有效?

    是否有一个 Windows API 函数可以将字符串值传递给该函数 该函数将返回一个指示文件名是否有效的值 我需要验证文件名是否有效 并且我正在寻找一种简单的方法来完成此操作 而无需重新发明轮子 我正在直接使用 C 但针对的是 Win32
  • 是否可以强制 XMLWriter 将元素写入单引号中?

    这是我的代码 var ptFirstName tboxFirstName Text writer WriteAttributeString first ptFirstName 请注意 即使我使用 ptFirstName 也会以双引号结束 p
  • ASP.NET Core Serilog 未将属性推送到其自定义列

    我有这个设置appsettings json对于我的 Serilog 安装 Serilog MinimumLevel Information Enrich LogUserName Override Microsoft Critical Wr
  • 当 contains() 工作正常时,xpath 函数ends-with() 工作时出现问题

    我正在尝试获取具有以特定 id 结尾的属性的标签 like span 我想获取 id 以 国家 地区 结尾的跨度我尝试以下xpath span ends with id Country 但我得到以下异常 需要命名空间管理器或 XsltCon
  • 使用 System.Text.Json 即时格式化 JSON 流

    我有一个未缩进的 Json 字符串 例如 hash 123 id 456 我想缩进字符串并将其序列化为 JSON 文件 天真地 我可以使用缩进字符串Newtonsoft如下 using Newtonsoft Json Linq JToken
  • C# 中的递归自定义配置

    我正在尝试创建一个遵循以下递归结构的自定义配置部分
  • 将自定义元数据添加到 jpeg 文件

    我正在开发一个图像处理项目 C 我需要在处理完成后将自定义元数据写入 jpeg 文件 我怎样才能做到这一点 有没有可用的图书馆可以做到这一点 如果您正在谈论 EXIF 元数据 您可能需要查看exiv2 http www exiv2 org
  • for循环中计数器变量的范围是多少?

    我在 Visual Studio 2008 中收到以下错误 Error 1 A local variable named i cannot be declared in this scope because it would give a
  • 如何将单个 char 转换为 int [重复]

    这个问题在这里已经有答案了 我有一串数字 例如 123456789 我需要提取它们中的每一个以在计算中使用它们 我当然可以通过索引访问每个字符 但是如何将其转换为 int 我研究过 atoi 但它需要一个字符串作为参数 因此 我必须将每个字
  • Qt表格小部件,删除行的按钮

    我有一个 QTableWidget 对于所有行 我将一列的 setCellWidget 设置为按钮 我想将此按钮连接到删除该行的函数 我尝试了这段代码 它不起作用 因为如果我只是单击按钮 我不会将当前行设置为按钮的行 ui gt table
  • 当操作繁忙时,表单不执行任何操作(冻结)

    我有一个使用 C 的 WinForms 应用程序 我尝试从文件中读取一些数据并将其插入数据表中 当此操作很忙时 我的表单冻结并且无法移动它 有谁知道我该如何解决这个问题 这可能是因为您在 UI 线程上执行了操作 将文件和数据库操作移至另一个
  • 如何在 VBA 中声明接受 XlfOper (LPXLOPER) 类型参数的函数?

    我在之前的回答里发现了问题 https stackoverflow com q 19325258 159684一种无需注册即可调用 C xll 中定义的函数的方法 我之前使用 XLW 提供的注册基础结构 并且使用 XlfOper 类型在 V
  • C++ 复制初始化和直接初始化,奇怪的情况

    在继续阅读本文之前 请阅读在 C 中 复制初始化和直接初始化之间有区别吗 https stackoverflow com questions 1051379 is there a difference in c between copy i
  • 如何让Gtk+窗口背景透明?

    我想让 Gtk 窗口的背景透明 以便只有窗口中的小部件可见 我找到了一些教程 http mikehearn wordpress com 2006 03 26 gtk windows with alpha channels https web
  • C - 直接从键盘缓冲区读取

    这是C语言中的一个问题 如何直接读取键盘缓冲区中的数据 我想直接访问数据并将其存储在变量中 变量应该是什么数据类型 我需要它用于我们研究所目前正在开发的操作系统 它被称为 ICS OS 我不太清楚具体细节 它在 x86 32 位机器上运行
  • 为什么 C# Math.Ceiling 向下舍入?

    我今天过得很艰难 但有些事情不太对劲 在我的 C 代码中 我有这样的内容 Math Ceiling decimal this TotalRecordCount this PageSize Where int TotalRecordCount
  • 限制C#中的并行线程数

    我正在编写一个 C 程序来生成并通过 FTP 上传 50 万个文件 我想并行处理4个文件 因为机器有4个核心 文件生成需要更长的时间 是否可以将以下 Powershell 示例转换为 C 或者是否有更好的框架 例如 C 中的 Actor 框
  • 防止索引超出范围错误

    我想编写对某些条件的检查 而不必使用 try catch 并且我想避免出现 Index Out of Range 错误的可能性 if array Element 0 Object Length gt 0 array Element 1 Ob
  • 使用按位运算符相乘

    我想知道如何使用按位运算符将一系列二进制位相乘 但是 我有兴趣这样做来查找二进制值的十进制小数值 这是我正在尝试做的一个例子 假设 1010010 我想使用每个单独的位 以便将其计算为 1 2 1 0 2 2 1 2 3 0 2 4 虽然我
  • 恢复上传文件控制

    我确实阅读了以下帖子 C 暂停 恢复上传 https stackoverflow com questions 1048330 pause resume upload in c 使用 HTTP 恢复上传 https stackoverflow

随机推荐

  • Rails - 重定向回来,除非上一页是艺术家页面

    我想重定向回上一页 除非上一页是我的 艺术家 控制器的 显示 操作 所以我想它看起来会是这样的 if previous page was artist show redirect to track artist track else red
  • 需要 bash 脚本和 awk 命令的帮助

    我需要一个 bash 脚本来递归打印文件夹名称和文件名 在 stdo p 中 例如 我有一个类似 earth plants flowers rose rose jpg 的文件夹结构 earth plant fruits apple appl
  • 将鼠标悬停在 XAML wpf 上时将按钮默认突出显示颜色更改为透明?

    我有一个带有透明背景的按钮 当我将鼠标移到按钮上时 按钮上明显会出现浅蓝色 默认颜色 我想要的是 即使鼠标位于按钮上方 我的按钮背景也应保持透明 我怎样才能在 XAML 中做到这一点 我已经搜索过但找不到与我的问题相关的任何内容 几乎每个示
  • 根据传递给控制器​​的参数动态创建查询

    在我的任务管理应用程序中 用户应该能够根据以下条件过滤任务 assignedTo priority status and or dueDate 我不确定如何创建动态查询 因为它将根据可用参数构建查询 例如 如果我有一个网址 例如 task
  • 如何将时间值的 NSString 表示形式转换为包含小时和分钟的两个 NSInteger?

    我正在深入研究 iOS 开发和 Objective C 语言 并正在构建一个闹钟应用程序以熟悉 SDK 和语言 我有一个NSString代表时间的对象 其范围 1 00 am to 12 59 am 我需要转换这个NSString一分为二N
  • data-reactroot 与 React 中的 Hydro 函数相关吗?

    我试图理解两者之间有什么区别ReactDOMServer renderToString and ReactDOMServer renderToStaticMarkup 在 React 16 8 6 上 这是我的理解 renderToStat
  • nosql 是什么意思?有人可以用简单的话向我解释一下吗?

    在这篇文章中堆栈溢出架构 http highscalability com stack overflow architecture我读到了一些叫做 nosql 的东西 我不明白它的意思 我试图在谷歌上搜索 但接缝我无法确切地了解它是什么 谁
  • 拖动手势活动时未引发 JavaFX KeyEvent

    所以我的问题是这样的 我正在实现一个 UI 创建工具 需要使用边缘上的拖动手势来调整元素的大小 当在检查是否按下修饰键时执行此拖动 即实现统一缩放 时会出现问题 当拖动手势处于活动状态时 永远不会引发键事件 因此我无法在拖动期间激活 停用此
  • Python 内置函数“compile”。它是干什么用的?

    我遇到了一个内置函数compile http docs python org 2 7 library functions html compile今天 虽然我阅读了文档 但仍然不明白它的用法或适用的地方 请任何人都可以举例说明此功能的使用
  • Python + Twisted + sqlanydb = abort()

    我通过官方 sqlanydb 驱动程序将 Twisted 11 与 SQLAnywhere 12 一起使用 一般来说 它工作得很好 但有时应用程序会因第一个查询中止而崩溃 如果一个查询有效 那么接下来的所有查询也都有效 然而我的测试很少通过
  • 如何检查数组是否多次具有值

    我想看看一个数组是否多次具有相同的值 例如 array array val1 val2 val3 val1 如您所见 在上面的数组中 有 2 x val1 要搜索数组是否包含值 我可以使用 in array 来完成 search in ar
  • PHPMyAdmin / MySql - 添加 ID 字段并自动填充 ID 号

    我有一个非常大的数据库表 近 2000 万条记录 这些记录没有唯一的 ID 号 所以 我插入了新字段 现在 我想用 ID 号填充它 从第一个 ID 号 10 000 001 开始增加 1 仅供参考 我在本地计算机上使用 WAMP 并且我已将
  • 在 keyup 事件上跳过 Primefaces 输入文本的验证,但在提交时验证

    我对输入文本有两个要求 p inputText 的值应立即通过 keyup event 显示在屏幕上的 h outputText 中 该值在数据库中应该是唯一的 我正在使用 Primefaces 4 0 JSF 2 2 以及 Glassfi
  • 将 DBF 文件导入 Sql Server

    我需要一些帮助来解决这个问题 因为我是存储过程的新手 我正在尝试使用此存储过程将 DBF 表导入到 Sql Server 2008 中 CREATE PROCEDURE spImportDB Add the parameters for t
  • 使用异常映射器的 JAX-RS

    我读到我可以创建一个实现javax ws rs ext ExceptionMapper它将把抛出的应用程序异常映射到Response目的 我创建了一个简单的示例 如果在保留对象时电话长度大于 20 个字符 该示例将引发异常 我期望异常映射到
  • 如何调整flexdashboard中的表格高度?

    我有一个 Flexdasboard 其中一个页面包含 1 个绘图 然后在其下面有一个表格 该表当前已被压缩 因此虽然它显示 25 行 但它们都在滚动选项中 因此您一次只能查看其中 2 行 我怎样才能改变这个 我目前正在使用以下代码进行编码
  • FluidPage 中的框,基本闪亮

    是否可以在经典闪亮应用程序中使用 box 元素 作为经典应用程序 我的意思是不是闪亮的仪表板 是的 这是可能的 你可以使用使用Shinydashboard https www rdocumentation org packages shin
  • 如何设置rdlc或ssrs报告中表格的最小行数?

    假设我想在表中设置最小行 当我的数据在表中未满时 只需插入空白行即可完全填充它 这个问题看起来很简单 但找到解决方案确实很难 所以我需要在这里分享一下 1 在表格中设置标题和1个绑定明细行 2 在表中插入空白行 只要您想要填充该行 组外 3
  • TCP 套接字到 Websocket?

    那里有很多 websocket gt 套接字包装器 比如网络套接字 https github com kanaka websockify 但是有相反的可用吗 具体来说 我希望能够使用应用程序连接到 TCP 套接字 并将代理转换为 webso
  • 在其他类构造函数中使用参数化构造函数

    我担心这是一个非常基本的问题 但是我还无法解决它 我有一个class A classA h class ClassA public ClassA ClassA int foo private int foo classA cpp Class