gpt4 book ai didi

c++ - 基于其他参数的默认值

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:57:52 28 4
gpt4 key购买 nike

我想实现这样的类:

class A{
int a;
int b;
int c;
A():a(),b(),c(){};
A(int ia,int ib,int ic=ia+ib):a(ia),b(ib),c(ic){}; //this is what i need
};

我想ic的默认值是根据ia和ib计算出来的,这里的代码编译的时候会报错。

我想知道是否有办法得到这样的东西。

谢谢。

最佳答案

只需添加另一个构造函数重载:

A(int ia, int ib)
: a(ia), b(ib), c(ia + ib) {}

A(int ia, int ib, int ic)
: a(ia), b(ib), c(ic) {}

对于更复杂的初始化,您可以使用 C++11 委托(delegate)构造函数避免重复:

A(int ia, int ib)
: A(ia, ib, ia + ib) {}

A(int ia, int ib, int ic)
: a(ia), b(ib), c(ic) {}

关于c++ - 基于其他参数的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19043510/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com