小编Jad*_*Jad的帖子

带有一个默认参数和一个可变参数的 C++ 构造函数

我正在编写此类构造函数:

element(int f=0, int a)
{
    first = f;
    inc = a;
    current = first - inc;
}
Run Code Online (Sandbox Code Playgroud)

参数被分配给构造函数体中的成员变量。我被要求接听以下电话main()才能工作:

prog = new element(3,5);
prog = new element(5);
Run Code Online (Sandbox Code Playgroud)

我无法更改(3,5). 就像在构造函数中一样,f需要先传递,然后再传递a。但是,f如果没有传入值,则需要初始化为 0,这样第二次调用就保持f为 0,而只初始化a为 5。

这样做的问题是,如果我在构造函数签名中按此顺序放置参数,则会出现错误。

我该如何解决这个问题?

c++ constructor class default-arguments

1
推荐指数
1
解决办法
244
查看次数

标签 统计

c++ ×1

class ×1

constructor ×1

default-arguments ×1