gpt4 book ai didi

C++ 构造函数和计算字段

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:57:20 25 4
gpt4 key购买 nike

在 C++ 中,构造函数必须使用初始化列表初始化 const 变量。

如果我的构造函数需要计算这些字段的值怎么办?比如说通过数据库查询或简单计算。

这里可以应用工厂模式,但似乎有点沉重。我正在考虑像 X::GetX(param1, param2) 这样的静态方法,它将计算值并调用私有(private)构造函数。

是否有更好或更流行的模式可用于此处?

最佳答案

无需调用私有(private)构造函数,您可以直接从初始化列表中调用静态方法(或者在某些情况下,甚至是非静态方法)。例如:

class testclass {
public:
testclass::testclass(int n): memberdata(fn(n)) { }

private:
int fn(int n) {
// Various calculations on 'n'
return 12;
}

int memberdata;
};

关于C++ 构造函数和计算字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5768372/

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