Tam*_*ran 7 c++ java constructor object
在C++中,当我创建如下所示的对象时,则不能为同一个类创建更多对象.
Box Box; //Box is the class Name
Run Code Online (Sandbox Code Playgroud)
这里Box成为一个对象,每当我们Box再次使用时,编译器会将其识别为一个对象.但在java的情况下,这不是.
Box Box = new Box();
Box box = new Box(); //valid
Run Code Online (Sandbox Code Playgroud)
这背后的原因是什么?
基本上,Java的语法规则略有不同.当语法说你有一个带有初始化程序的变量声明时,例如:
Box box = new Box();
Run Code Online (Sandbox Code Playgroud)
...它知道Box必须是类型的名称,而不是变量的名称.因此,无论是否Box在范围内调用变量都无关紧要.(这也适用于new运营商.)
我不知道C++语法的详细细节,但听起来它并没有设置为区分,至少在你给出的例子中.这不是它的特征 - 它只是编译器如何查找名称的问题.
| 归档时间: |
|
| 查看次数: |
784 次 |
| 最近记录: |