【问题标题】:C++ Classname Function() [duplicate]C ++类名函数()[重复]
【发布时间】:2018-10-03 12:35:01
【问题描述】:

我最近在做一个关于 c++ 的在线测验,出现了一个与语法相似的问题

class className
{
     public:
     constructor()
     {
         print("ABC");
     }
}

int main()
{
    className ABC();
    return 0;
}

我认为它不会编译,而是编译并运行而没有任何效果,我对这是什么功能以及我们在什么情况下使用它感兴趣?

【问题讨论】:

  • className ABC(); 声明了一个函数指针。使用className ABC; 创建本地对象。并且名为 constructor 的方法不是构造函数。
  • 另外构造函数是一个与类同名的函数,比如className() { ...不是一个名为构造函数的方法。
  • @AlexShesterov 它没有声明函数指针。
  • 这样的例子didn't compile我。

标签: c++ class oop constructor


【解决方案1】:

您发布的代码无法编译。忽略它没有做任何事情的两个原因。

  1. className ABC(); 声明一个函数。要调用类的默认构造函数,只需省略括号:className ABC;
  2. className 有一个名为 constructor 的方法,但没有构造函数,因此在构造它时不会打印任何内容。

【讨论】:

    猜你喜欢
    • 2015-07-05
    • 2012-02-17
    • 1970-01-01
    • 2016-06-22
    • 2013-03-03
    • 2015-09-25
    • 2012-09-27
    • 2015-12-01
    • 2014-09-09
    相关资源
    最近更新 更多