访谈:是否可以创建一个没有名字的课程?

Rav*_*avi 6 c++ java oop class

在我的采访中,面试官问我

我们可以创建没有名字的课吗?

因为,我不确定,是否真的可以创建一个没有名字的类.所以,我说没有.

后来,我尝试使用Google搜索并发现,其他人也在寻找同一问题的答案,但我没有找到明确的答案.

如果有人清楚地解释这个课程,我将不胜感激.我的意思是,这个类技术上知道什么,我们如何实例化这个类?

Luc*_*ore 11

是的,它被称为匿名类/结构.

在C++中:

class {
} x;
Run Code Online (Sandbox Code Playgroud)

x 是一个类型的对象,你不能再创建了,因为,如果这个类没有名称,那么你将如何...

如何调用构造函数和析构函数

你没有.在Java和C++中,构造函数和析构函数都与类具有相同的名称(它们不是PHP - __construct或其他任何东西),并且缺少的名称会妨碍它.

  • 或破坏者或任务 (2认同)
  • @coders`x`*是*该类的一个对象. (2认同)
  • C++ 03标准实际上将这些称为"未命名"类,而不是"匿名".你可以`typedef`这样的构造,就像`typedef class {} Thingy;`从而更容易实例化这样的东西:`Thingy t;`但是,如果你在C++中这样做,我会想知道为什么你真的希望它首先没有命名.也许不可能宣布一个非平凡的构造函数?嗯... (2认同)

Pet*_*rey 6

它在Java中也称为匿名类.

// create a new instance of an anonymous class.
Serializable s = new Serializable() {
};
Run Code Online (Sandbox Code Playgroud)

注意:在JVM中,所有类都有一个名称,它由编译器为您生成.

你不能定义构造函数,但它可以有一个实例初始化程序块,它可以做同样的事情.