可以在main函数中声明类成员吗?为什么?为什么不
Can we declare class members within main function. why? why not?
我是一个新手,所以请解释一下——非常感谢帮助。
通常我们这样做:
Class A
{
int a;
...
}
正确吗?
Class A
{
...
}
int main()
{
int A::a; //declaring class member within main
}
不可以在函数中单独定义类成员。
你可以在函数内部定义一个类,一个本地类,但是所有的东西都必须在这个类定义中定义。
注意c++是一种区分大小写的语言。单词Class
不是c++关键字。单词class
是。
你这样做是不正确的。我不知道你想干什么。
如果有静态类成员,则需要在类外部定义它。您可以在main函数中定义整个类,但这几乎没有什么用处。
在函数作用域中声明的变量local。成员字段是在类中具有作用域的变量。因此,不能在函数中声明成员字段。
相关文章:
- 为什么使用 "this" 指针调用派生成员函数?
- 为什么在没有显式默认构造函数的情况下,将另一个结构封装在联合中作为成员的结构不能编译
- 为什么在C++中首先初始化成员类
- 为什么我不能在一个类的不同行中声明和定义成员变量?
- (C++)为什么静态成员可以在初始化之前使用
- 为什么类中的ostringstream类型的成员会导致";调用隐含删除复制构造函数";错误
- 为什么将一个结构的引用设置为等于另一个结构只会更改一个数据成员?
- 为什么派生类的好友不能使用受保护的成员?
- 为什么下面的模板化类成员函数无法编译?
- 为什么即使我声明了朋友类,我也会收到错误"无法访问类中声明的私人成员"
- 为什么我不能在返回 const 的布尔函数中为类成员变量赋值?C++
- 为什么静态数组成员变量在调用对象的实例后不显示任何内容?
- 为什么我需要在成员发起器列表中重复基类的模板参数?
- 为什么不允许成员函数和非成员函数之间的函数重载?
- 为什么我在空指针错误(链表)中获取成员访问权限
- 为什么类构造函数为其成员生成析构函数?
- 为什么我无法访问指向数组中成员函数的指针?
- 为什么成员函数内的"this"指针为空?
- 为什么结构化绑定不使用"auto&"返回对结构成员的引用,而是返回成员本身
- 为什么"具有常量成员的结构"类型的指针不能指向"具有非常量成员的结构"?