小编Dan*_*iel的帖子

C++关于默认构造函数的问题

调用这样的类是什么意思:

class Example
{
 public: 
  Example(void);
  ~Example(void);
}

int main(void)
{
 Example ex(); // <<<<<< what is it called to call it like this?

 return(0);
}
Run Code Online (Sandbox Code Playgroud)

就像在这种情况下它似乎没有调用默认构造函数一样.有人可以说明为什么会这么糟糕吗?

谢谢你的所有答案.

c++ class

5
推荐指数
2
解决办法
660
查看次数

C++类默认构造函数

早些时候我问为什么这被认为是坏的:

class Example
{
 public: 
  Example(void);
  ~Example(void);
  void f() {}
}

int main(void)
{
 Example ex(); // <<<<<< what is it called to call it like this?

 return(0);
}
Run Code Online (Sandbox Code Playgroud)

现在,我知道它正在创建一个函数原型而不是返回一个类型的示例.我仍然不明白为什么它可以在g ++和MS VC++中工作.

我的下一个问题是使用上述问题,这个电话会有效吗?

int main(void)
{
 Example *e = new Example();

 return(0);
}
Run Code Online (Sandbox Code Playgroud)

?有什么区别,只需调用Example e()??? 就像我知道它是一个函数原型,但似乎有些编译器会原谅并允许它调用默认的构造函数?我也试过这个:

class Example
{
 private:
  Example();

 public:
  ~Example();
};

int main(void)
{
 Example e1(); // this works
 Example *e1 = new Example(); // this doesn't

 return(0);
}
Run Code Online (Sandbox Code Playgroud)

所以我有点困惑:(对不起,如果这被问了一百万次.

c++ constructor default class

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

有没有办法进一步减少这种情况?

我有一个PHP功能,我希望进一步减少.

<?='Testing'?>
Run Code Online (Sandbox Code Playgroud)

有没有办法进一步减少这个?

php variables

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

标签 统计

c++ ×2

class ×2

constructor ×1

default ×1

php ×1

variables ×1