gpt4 book ai didi

c++ - 具有常量成员的默认构造函数

转载 作者:太空狗 更新时间:2023-10-29 21:37:54 25 4
gpt4 key购买 nike

我在 C++ 中有一个类,比如“Customer”,我想要其中的一个成员作为 ID,

private:
const string x; // Customer's ID

现在普通的构造函数看起来像这样:

Customer::Customer(const string& ID): x(ID){}

现在,我想构建一个默认构造函数,而不初始化 x。是否可以?因为如果我将它初始化为某个随机值,比如“无标题”,那么我就不能再更改它了,因为它是一个常量。

那么我是否应该完全不构建默认构造函数,或者是否有可能构建一个不初始化 x 并且您可以稍后再做的构造函数?

最佳答案

Now, I want to build a default constructor, without initializing x. Is it possible?

不,这不可能。

Because if I initialize it to some random value, say "untitled" then I can't change it anymore because its a const.

这正是 const 的目的。

So should I not build a default constructor at all, or is there a possibility of building one that doesn't initialize x and you can do that later?

好吧,如果 x 真的应该是 const(我怀疑它是否真的需要),你不应该提供默认构造函数,除非你可以设法初始化 x 与某些 constexpr 不同。

关于c++ - 具有常量成员的默认构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36667602/

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