为什么c ++中的结构不需要构造函数?

Shr*_*hta -3 c++ c++11

我从2年左右开始做C++,我说为什么我们需要类中的构造函数而不是结构中的构造函数,以及为什么我们不能在结构中进行构造函数重载...

Lig*_*ica 9

为什么我们需要在课堂上施工

我们没有.

// Perfectly valid
class Foo
{
public:
    int x
};
Run Code Online (Sandbox Code Playgroud)

为什么我们不能在结构中进行构造函数重载...

我们可以.

// Look, ma!
struct Bar
{
   Bar operator+(const Bar& other);
};
Run Code Online (Sandbox Code Playgroud)

我不知道你在哪里听到这些说法,但肯定不是试了这个.

使用关键字声明的用户定义类型struct 类.

  • @kfsone,编程语言的"语法"和"语义"之间存在差异."class"和"struct"在语义上表现相同,但是您需要不同的语法(关键字"public"或"private",resp.)才能获得相同的可见性. (2认同)
  • @kfsone,您是否阅读过PreferenceBean的答案,链接的答案?C++不知道结构.它有两种语法来定义类. (2认同)
  • @ShreyanMehta:_"其次根据我的知识,我们不能在结构中做这件事......"_你的知识是不正确的.花点时间尝试一下.你会看到的!(免责声明:我不能保证在DOS模拟器上早期的90年代Turbo C++会做什么.我们在这里谈论ISO C++.) (2认同)