如何为 C++ 构造函数指定默认参数值?

2024-04-01

我有一个构造函数声明为:

MyConstuctor(int inDenominator, int inNumerator);

和定义为

MyConstuctor::MyConstuctor(int inDenominator,
    int inNumerator, int inWholeNumber = 0)
{
    mNum = inNumerator;
    mDen = inDenominator;
    mWhole = inWholeNumber;
}

但我希望可以选择根据调用者对象将整数作为第三个参数传递。这是正确的方法吗?如果不是,可以有什么替代方法。


你需要的是:

//declaration:
MyConstuctor(int inDenominator, int inNumerator, int inWholeNumber = 0); 

//definition:
MyConstuctor::MyConstuctor(int inDenominator,int inNumerator,int inWholeNumber) 
{   
    mNum = inNumerator;   
    mDen = inDenominator;   
    mWhole = inWholeNumber;   
}

这样您就可以为inWholeNumber;并且您可以不提供它,因此 0 将用作默认值。


作为附加提示,更好地使用初始化列表 http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.6在定义中:

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

如何为 C++ 构造函数指定默认参数值? 的相关文章

随机推荐

  • RStudio Shiny 动态选择

    在我的 RStudio Shiny 中 我得到了我的selectInput在我里面server R 以及关于ui R我有一个tags语句来更改选择框的宽度和高度 它在页面加载时起作用 但当我进入单一类型时它会恢复为默认大小 有什么想法如何解
  • 您正在使用 X509TrustManager 的不安全实现

    我在 Google Play 中有一个应用程序 今天我收到一封来自 Google 的邮件 内容如下 Google Play 警告 您正在使用不安全的实现 X509信任管理器 它介绍了有关 SSL 证书问题以及解决该问题的方法 我是出于好奇才
  • Swift - 使用 CGContext 用手指绘图

    我正在尝试制作一个绘图应用程序 我有一个自定义 UIView class DrawView UIView var touch UITouch var lastPoint CGPoint var currentPoint CGPoint ov
  • Phonegap 代码作为 Web 应用程序

    我正在考虑重新使用我的phonegap html css 和js 代码作为网络应用程序 我将仔细检查并删除所有仅限移动设备的功能 目的是拥有一个提供一些移动应用程序功能的网络应用程序 我目前使用的移动设备功能很少 但我猜维护我的移动应用程序
  • 配置vscode json格式空间

    我想配置 vscode 以使用 2 个缩进空间 而不是默认情况下的 4 个缩进空间 来格式化我的 JSON 对象 我怎样才能做到这一点 将以下行粘贴到 VSCode 中的 settings json 中 然后就完成了 json editor
  • 使用 Xpath 比较属性值

    给定以下文档结构 我如何使用 Xpath 检查两个属性值是否匹配
  • 类型错误:无法 pickle _thread.lock 对象

    尝试使用共享队列同时运行两个不同的函数并收到错误 如何使用共享队列同时运行两个函数 这是 Windows 7 上的 Python 版本 3 6 from multiprocessing import Process from queue i
  • (播放 2.4)特征中的依赖注入?

    在play 2 4中 是否可以在trait中使用依赖注入 有例子吗 Thanks 我在这里谈论 Guice 的运行时 DI 因为它是 Play 使用的默认方法 其他 DI 方法或框架可能有所不同 不可能将依赖项注入到特征中 因为特征不可实例
  • 查看 sp_execute 正在做什么

    在我的 MS SQL Profiler 中 我看到很多这样的小查询 执行 sp execute 1 p0 15954 我知道从理论上讲这是可行的 这是执行先前创建的查询并传入特定参数 但问题是我不确定是什么原因导致这些查询 有没有办法查看这
  • 如何避免使用 KITKAT 4.4.2 版本的 SD 卡上出现“EACCES 权限被拒绝”的情况。谷歌的新政策

    android kitkat 4 4 2 版本是针对 writeaccess 实现的新的 google 策略 到目前为止我还不明白 我在其他应用程序中读到了很多有关此问题的信息 他们收到 EACCES 权限被拒绝 的消息 我的应用程序需要写
  • Proxifier 是如何工作的?

    如你所知Proxifier是一个程序 允许不支持通过代理服务器工作的网络应用程序通过 HTTPS 或 SOCKS 进行操作 它可以处理来自正在运行的应用程序的任何传输 我想知道它是如何做到这一点以及我如何写一个这样的 FreeCap htt
  • d3.按属性值选择

    我是 d3 的新手 我有这样的定义 node node enter append circle attr id function d return d id attr class node on mouseover mouseover no
  • java.util.Date(int,int,int) 已弃用 [重复]

    这个问题在这里已经有答案了 构造函数java util Date int int int 已弃用 有没有像Java一样简单设置日期的方法 执行此操作的未弃用方法是什么 Date date new Date 2015 3 2 执行此操作的未弃
  • 在应用程序启动时以模态方式呈现视图控制器

    我的应用程序有一个设置屏幕 如果满足某些条件 该屏幕应以模态方式呈现在根视图控制器上 我已经在 SO 和互联网上四处查看 到目前为止 关于如何执行此操作的最接近的答案在这里 AppDelegate rootViewController 和
  • 使用依赖注入和“完成”编写 Karma + Mocha 测试?

    在 mocha 中编写 Karma 单元测试最优雅的方法是什么 它既具有依赖注入又具有done 依赖注入 describe cows function it farts a lot inject function cow do stuff
  • 从绝对名称 C# 获取 URI/URL 的父名称

    给定一个绝对 URI URL 我想获取一个不包含叶部分的 URI URL 例如 给定http foo com bar baz html http foo com bar baz html 我应该得到http foo com bar http
  • 是否有可能(如何)在 Java 运行时获取方法引用的名称? [复制]

    这个问题在这里已经有答案了 我最近使用了很多方法引用和 lambda 并且想知道在运行时是否可以打印以屏幕 lambda 的源 即它的名称 只是出于调试原因 我认为可以使用反射 通过在 getName 中调用 getClass 来实现 但我
  • 将 Google Sheets 查询结果从一行拆分为两行

    我想带着我的QUERY结果并将一个单元格 H 描述 移动到每个结果的下一行 I found 这个答案 https stackoverflow com questions 56420002 how to automatically split
  • Specflow 步骤定义继承

    我有 ExcelStepDefinition 类 其中是我的 Excel 测试步骤 我也有 WordStepDefinition 类 由于这两个类有大量相同的步骤 因此我创建了一些 StepDefinition 类 它将作为这两个类的基类
  • 如何为 C++ 构造函数指定默认参数值?

    我有一个构造函数声明为 MyConstuctor int inDenominator int inNumerator 和定义为 MyConstuctor MyConstuctor int inDenominator int inNumera