我不知道为什么但是这个代码有效,这个记录}r;
是什么以及它是如何工作的?可以通过这种方式声明为全局对象类吗?
#include <iostream>
class А
{
public:
А()
{
std::cout << "Hello World";
}
}r;
int main()
{
}
答案 0 :(得分:2)
它声明了一个名为r
的全局变量,其类型为A
。
与
相同class A { ... };
A r;
int main() { ... }
答案 1 :(得分:1)
嗯,是的!基本上,可以通过这种方式声明为全局对象类吗?
r
有一个А
类型的全局变量。 C ++从C继承了某种语法,使您能够在类/结构定义之后声明变量。你经常可以从C看到像这样的东西
struct vertex {
float x, y;
} my_vertex; // Declares a variable of type vertex
在C ++中,struct
与class
相同,但默认访问说明符除外。
您可能想知道在类定义之后分号是什么。所以基本上是一个定义为
的类class my_class {};
括号立即以分号开头,声明没有变量。
您还可以通过使用逗号运算符分隔多个变量来声明它们。
class my_class {} x, y, z;
答案 2 :(得分:0)
它创建一个名为class A
的{{1}}实例。它与doint r
几乎相同,这将在该位置上创建一个全局int。
答案 3 :(得分:0)