构造函数和对象 - 访谈

nat*_*138 -5 c++ java

这是面试中提出的问题.在下面的编码片段中做了什么foo afoo a()表示什么.

class foo
    {
        foo a;
        foo a();
    }
Run Code Online (Sandbox Code Playgroud)

foo a和foo a()会做什么?采访者没有提到这是java还是c ++.他们希望我用C++和Java来解答.

NPE*_*NPE 13

在C++中,第一行是错误(类不能包含自身的实例).第二行声明了一个返回foovalue 实例的方法.最后还有一个缺少的分号.

在Java中,第一行声明了一个引用的数据成员foo.第二行是错误,因为该方法必须具有正文.

总之,它不是两种语言中任何一种语言的有效代码.:-)

  • 在类定义之后,C++还需要一个分号. (4认同)
  • 你被Java的一半观众低估了:D (3认同)