main() 函数可以称为构造函数吗?
Can main() function be called a constructor function
我想知道int main()
函数是否被称为构造函数,因为它几乎与类的构造函数相同?
如果是,那么它属于什么类名?
编辑:我认为main((与构造函数几乎相同的原因是,每当我们执行程序时,执行的第一件事就是main函数。类似地,每当我们将数据类型的变量定义为用户定义的类时,构造函数首先执行
吗
main()
函数可以称为构造函数
不
类构造函数是成员函数。成员函数不同于int main()
的非成员函数。
实际上,构造函数是一种特殊的成员函数,它没有名称和地址。这负责创建对象。可以在程序中创建对象"无限"次。
虽然main()
是启动程序的函数,但不允许调用main()
否则调用未定义的行为
来自参考:
main()
"是一个名为main的全局函数,它是程序的指定开始"。[1]
所以它不是类的一部分,不是成员方法,因此该方法不能是构造函数。补救C++是一种多范式语言。它包括一个面向对象的方法,但它不需要它来运行。Java或C#也是多范式的,但它们主要是基于类和OOP的。例如,在Java和C#中,你需要有类和对象来创建"Hello World"程序。
相关文章:
- 从具有按值捕获的 lambda 移动构造 std::函数时,移动构造函数调用两次
- 构造函数/函数声明参数列表中的统一初始化
- 在c++中为链接列表创建复制构造函数/函数
- 如何声明模板函数,以便可以在类构造函数/函数中传递
- 在C 中,如何调用构造函数函数
- 在C++中构造模板函数时出现编译错误 C2664 和 C2440
- Rcpp:构造模板函数
- 采用nulltpr_t的构造函数:函数定义不声明参数
- 使用基于模板的构造函数构造std::函数
- 构造函数:函数不接受3个参数
- 就地构造 std::函数目标
- 将字符串构造作为函数参数传递
- C++:从模板化方法构造std::函数
- 构造std::函数的向量时出现编译器错误
- 构造<stl_hashtable>函数参数是否在
- libstdc++和libc++在用lambda构造std::函数时的不同行为
- 编译器构造-带有函数的类的c++sizeof()
- 使用 c++11 构造映射函数
- 调用构造与函数原型混淆
- 在不调用initializer_list构造函数的情况下,将不可复制、不可移动的类型构造为函数形参