构造函数名和类名在Java中是相同的。为什么? 1 年,11 月 Questions & Answers 9520 请给我一个合理的答案,用相同的名称命名类和构造函数。为什么我们不能为构造函数选择除类名以外的其他名称 class Temp { Temp() { } };
# 1 楼答案 根据定义C++语言的标准,构造函数没有名称,至少在声明中没有声明的标识符(声明符ID < EEM >)中没有。它是一个使用特定语法声明的匿名函数,仅在某些情况下由更特殊的语法引用。在其他语境中,同一术语Temp::Temp指的是class Temp本身 构造函数是使用一个成员声明来声明的,该声明命名了立即注入的类名。它可以被注入的类名或与::标点一起使用的其他类型名(嵌套的名称说明符)以type::type的形式引用,最后两个::分隔的部分是相同的标记,在特定的上下文中,例如委托和继承构造函数 这一切的原因是,在不创建新对象的情况下,无法引用构造函数,例如获取指向它的函数指针或调用它。构造函数本质上与对象生命周期有关 在历史上,构造函数是从工厂函数演变而来的,工厂函数返回给定类型的初始化对象。这种模式在某些语言中仍然可以看到,函数名可能是别名类型,构造函数只是约定。当前的语法是从JavaScript中看到的语法演变而来的。一些早期C++编译器(考虑C,不确定cAdvices的最早版本)没有将构造函数当作成员来对待。p>
# 2 楼答案 构造函数名和类名相同只是一种约定。一个合乎逻辑的一个-认为对象可以这样构造也 Temp t = Temp(); 它可能被称为constructor(),但如果你只看一个片段,你就不知道它在构造什么
# 1 楼答案
根据定义C++语言的标准,构造函数没有名称,至少在声明中没有声明的标识符(声明符ID < EEM >)中没有。它是一个使用特定语法声明的匿名函数,仅在某些情况下由更特殊的语法引用。在其他语境中,同一术语
Temp::Temp
指的是class Temp
本身构造函数是使用一个成员声明来声明的,该声明命名了立即注入的类名。它可以被注入的类名或与
::
标点一起使用的其他类型名(嵌套的名称说明符)以type::type
的形式引用,最后两个::
分隔的部分是相同的标记,在特定的上下文中,例如委托和继承构造函数这一切的原因是,在不创建新对象的情况下,无法引用构造函数,例如获取指向它的函数指针或调用它。构造函数本质上与对象生命周期有关
在历史上,构造函数是从工厂函数演变而来的,工厂函数返回给定类型的初始化对象。这种模式在某些语言中仍然可以看到,函数名可能是别名类型,构造函数只是约定。当前的语法是从JavaScript中看到的语法演变而来的。一些早期C++编译器(考虑C,不确定cAdvices的最早版本)没有将构造函数当作成员来对待。p>
# 2 楼答案
构造函数名和类名相同只是一种约定。一个合乎逻辑的一个-认为对象可以这样构造也
它可能被称为
constructor()
,但如果你只看一个片段,你就不知道它在构造什么