使用非默认构造函数初始化成员类

2024-01-01

我正在尝试制作一个具有 SimpleWindow 类的 gui,其中包含 textPanel 类:

class textPanel{
    private:
        std::string text_m;

    public:
        textPanel(std::string str):text_m(str){}
        ~textPanel();
};


class SimpleWindow{
    public:
        SimpleWindow();
        ~SimpleWindow();
        textPanel text_panel_m;
};

SimpleWindow::SimpleWindow():
        text_panel_m(std::string temp("default value"))
{
}

我希望能够使用转换为 std::string 的 const char* 初始化 text_panel_m,而不需要创建另一个采用 const char* 的构造函数。我是否应该创建另一个以 const char* 作为参数的构造函数?如果我这样做,有没有办法减少使用 c++0x 的冗余构造函数代码量?

使用上述方法,我在初始化 text_panel_m 成员变量时遇到困难。 g++ 给我以下错误:

simpleWindow.cpp:49: error: expected primary-expression before ‘temp’
simpleWindow.cpp: In member function ‘bool SimpleWindow::drawText(std::string)’:

如何在不使用默认构造函数的情况下初始化 text_panel_m 成员变量?


你快到了:

SimpleWindow::SimpleWindow():
        text_panel_m("default value")
{
}

应该解决这个问题,使用std::string的隐式转换构造函数const char*.

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

使用非默认构造函数初始化成员类 的相关文章

  • 未提供参数时如何指定 C# System.Commandline 行为?

    在我的控制台应用程序中 当未提供控制台参数时 将执行我指定列表 在本例中为参数 3 的任何处理程序 调用该处理程序时 布尔参数设置为 false 但对我来说 根本不调用它更有意义 如何防止这种情况发生并显示帮助文本 using System
  • 如何在 .NET Framework 2.0 中模拟“Func<(Of <(TResult>)>) 委托”?

    我尝试使用这个类代码项目文章 http www codeproject com KB threads AsyncVar aspx在 VB NET 和 NET Framework 2 0 中 除了这一行之外 所有内容似乎都可以编译Privat
  • 如何将非静态类成员“std::bind”绑定到 Win32 回调函数“WNDPROC”?

    我正在尝试将非静态类成员绑定到标准WNDPROC http msdn microsoft com en us library ms633573 aspx功能 我知道我可以通过将类成员设为静态来简单地做到这一点 但是 作为一名 C 11 ST
  • 确保 StreamReader 不会挂起等待数据

    下面的代码读取从 tcp 客户端流读取的所有内容 并且在下一次迭代中它将仅位于 Read 上 我假设正在等待数据 我如何确保它不会在没有任何内容可供读取时返回 我是否必须设置低超时 并在失败时响应异常 或者有更好的办法吗 TcpClient
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • 在 DataView 的 RowFilter 中选择 DISTINCT

    我试图根据与另一个表的关系缩小 DataView 中的行范围 我使用的 RowFilter 如下 dv new DataView myDS myTable id IN SELECT DISTINCT parentID FROM myOthe
  • 使用片段时应用程序崩溃

    我正在处理碎片和 我的代码中有一个我找不到的问题 logcat 指向我的一个片段中的这段代码 Override public View onCreateView LayoutInflater inflater ViewGroup conta
  • ClickOnce 应用程序错误:部署和应用程序没有匹配的安全区域

    我在 IE 中使用 FireFox 和 Chrome 的 ClickOnce 应用程序时遇到问题 它工作正常 异常的详细信息是 PLATFORM VERSION INFO Windows 6 1 7600 0 Win32NT Common
  • 在 LINQ 中按 Id 连接多表和分组

    我想按categoryId显示列表产品的名称组 这是我的代码 我想要我的视图显示结果 Desktop PC HP Red PC Dell Yellow PC Asus Red SmartPhone Lumia 720 Blue 我的组模型
  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • 在一个平台上,对于所有数据类型,所有数据指针的大小是否相同? [复制]

    这个问题在这里已经有答案了 Are char int long 甚至long long 大小相同 在给定平台上 不能保证它们的大小相同 尽管在我有使用经验的平台上它们通常是相同的 C 2011 在线草稿 http www open std
  • 我可以使用 moq Mock 来模拟类而不是接口吗?

    正在经历https github com Moq moq4 wiki Quickstart https github com Moq moq4 wiki Quickstart 我看到它 Mock 一个接口 我的遗留代码中有一个没有接口的类
  • 如何检测表单的任何控件的变化?

    如何检测 C 中表单的任何控件的更改 由于我在一个表单上有许多控件 并且如果表单中的任何控件值发生更改 我需要禁用按钮 我正在寻找一些内置函数 事件处理程序 属性 并且不想为此创建自定义函数 不 我不知道任何时候都会触发任何事件any控制表
  • 为什么 std::strstream 被弃用?

    我最近发现std strstream已被弃用 取而代之的是std stringstream 我已经有一段时间没有使用它了 但它做了我当时需要做的事情 所以很惊讶听到它的弃用 我的问题是为什么做出这个决定 有什么好处std stringstr
  • 等待进程释放文件

    我如何等待文件空闲以便ss Save 可以用新的覆盖它吗 如果我紧密地运行两次 左右 我会得到一个generic GDI error
  • 使用管道时,如果子进程数量大于处理器数量,进程是否会被阻塞?

    当子进程数量很大时 我的程序停止运行 我不知道问题是什么 但我猜子进程在运行时以某种方式被阻止 下面是该程序的主要工作流程 void function int process num int i initial variables for
  • 使用 %d 打印 unsigned long long

    为什么我打印以下内容时得到 1 unsigned long long int largestIntegerInC 18446744073709551615LL printf largestIntegerInC d n largestInte
  • 当从finally中抛出异常时,Catch块不会被评估

    出现这个问题的原因是之前在 NET 4 0 中运行的代码在 NET 4 5 中因未处理的异常而失败 部分原因是 try finallys 如果您想了解详细信息 请阅读更多内容微软连接 https connect microsoft com

随机推荐

  • iPhone-SDK 的最佳 SQLite 3 教程在哪里? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何让我的应用程序使用 Windows 主题?

    我正在使用一些 Windows API 来创建一个小应用程序 我已经创建了按钮 窗口 好吧 但问题是我创建的组件看起来不像操作系统主题 它们看起来很简单 请参阅按钮作为示例 如何启用 Windows 主题 它可以是 C 语言或 Delphi
  • Sprite-Kit 在触摸屏幕时更改节点的图像

    有一个通过点击屏幕来控制的英雄 我希望每次触摸屏幕时英雄看起来都有点不同 我所做的是设置两个略有不同的图像 我希望在发生触摸事件时改变英雄的形象 到目前为止 我设置了一个数组来保存信息 但它有点行不通 NSMutableArray hero
  • 我们可以在 c++ 中使用 POSIX C 库吗?

    我是 Linux 系统编程领域的新手 我目前使用 C 编程 想切换到 C 我们可以在 c 中使用 POSIX C 库中定义的所有函数而不进行任何更改吗 原则您应该能够使用 C 中的任何 C API 该语言包含有利于它的功能 大多数 C 库作
  • 修改R中x轴上的日期格式?

    我想更改 R 中月份年份的绘图格式 所以目前它也显示日期 我只想显示月份年份 With my data http uploadeasy net upload 6nhi rar和 R 代码 plot alvdate 1250 1600 c N
  • .(data_type) 方法到底调用/做什么?

    我遇到了一段使用过的代码 string 方法 不知道这叫什么 我很难找到它 这是我尝试理解的 package main import fmt import reflect func main var b interface b silly
  • html5 视频的 timeupdate 事件多久触发一次

    学习html5的东西 太棒了 想知道 timeupdate 事件触发的频率 旁注 js 视频 API 有很多有趣的可能性 例如 可以使用 ctrl F 来搜索视频 运行语音识别作为视频处理的一部分 然后创建一个长键值存储 其中时间戳作为键
  • 请说明为什么在字符串的情况下,字符串对象的两个引用是相同的(代码写在下面)

    using System using System Collections using System Configuration using System Data using System Linq using System Web us
  • Python 中的多元求根

    使用 Excel 求解器 很容易找到该方程的解 x 和 y 的最佳值 x 14 80461 y 4 9233 10 0 4803 0 但是 我不知道如何在 Python 中执行此操作 现有的 scipy 优化库函数 如 fsolve 或 l
  • 为什么相互让步使 ArrowApply 和 Monads 等效,而不像 Arrow 和 Applicative?

    这是我要参考的SO帖子 https stackoverflow com a 24668518 11143763 另外 我将使用与该问题中的OP相同的片段 以免分离材料 https stackoverflow com q 24668313 1
  • gitignore 跨所有分支?

    嘿 我正在尝试进入 git 作为 emacs 用户 首先要做的就是确保 git 忽略 和 文件 文档讨论了我一直在使用的 gitignore 然而 仍然有几个问题 gitignore 现已签入并部分 的一个分支 gitignore 应该是
  • Ruby HTTP 获取参数

    如何通过 ruby 发送带参数的 HTTP GET 请求 我尝试了很多例子 但都失败了 我知道这篇文章已经很旧了 但是为了那些由 google 带到这里的人 有一种更简单的方法可以以 URL 安全的方式对参数进行编码 我不知道为什么我没有在
  • 异或 Java 神经网络

    尝试使用 Java 中的 XOR 神经网络 但网络总是预测其训练的最终输出 这是我的代码 for int i 0 i lt 4 i Forward pass diff 1 while diff gt 0 01 SumError 0 Y1 I
  • 比较 MySQL 和 Java 时间

    我在 MySQL 中有一个日期时间字段 我通过调用 result getString date 访问它 现在我想检查天气 Java 中的当前日期和时间已经超过 MySQL 时间或早于 MySQL 时间来检查天气结果是否激活 MySQL 中的
  • 如何将短数组转换为字节数组

    我已经发现将短数组转换为字节数组 https stackoverflow com questions 2188660 convert short to byte in java and 字节数组转短数组 https stackoverflo
  • 如何以自定义方式在我的 Zend Framework 应用程序中实现 jquery?

    如何以自定义方式在我的 Zend Framework 应用程序中实现 jquery 附加 jquery jsok 附加脚本ok 将 POST 数据发送到控制器ok 处理发布的数据ok 发送 AjaxContext 响应给客户端now ok
  • C++03中如何在没有临时变量的情况下将数据立即填充到容器中

    假设我有一个Container template
  • 如何列出oracle中特定存储过程中使用的所有表

    我需要获取 Oracle 中特定存储过程中使用的所有表的列表 如何使用查询获取该列表 Dynamic SQLs 被跳过 因为它们没有在SEMANTIC编译期间检查 select proc syn referenced owner proc
  • 在 Powershell 中替换字符串中变量的成员

    我在 PowerShell 脚本中有以下字符串表达式 select count cnt from schema table where col column name is null 架构和表分别解析为 schema 和 table 的值
  • 使用非默认构造函数初始化成员类

    我正在尝试制作一个具有 SimpleWindow 类的 gui 其中包含 textPanel 类 class textPanel private std string text m public textPanel std string s