C++,可以在main函数中定义类吗,而不是在main函数外?

类似的可以在main函数中定义结构体吗?
可以在main函数中定义函数吗?

可以。不仅是main函数,所有函数都可以。
不过在函数中定义的类只能在这个函数中被访问到。而且如果全局还声明了一个同名的类,在函数中定义的这个类与全局的类不是同一个类,在函数体范围内前者会隐藏后者。
样例:
struct s {int a;};
void g() {
struct s {char *p;}; //局部类s隐藏了全局类
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-03-19
可以在函数内定义类和结构体
但不能在函数内定义函数追问

如果我在函数中定义了类,那么类中的成员函数应该在哪里定义呢?

第2个回答  2014-03-19
可以
第3个回答  2014-03-19
1、在主函数外定义类:
class Stu{
int a;
Stu();
};

Stu::Stu(){
pritnf("Abcd");
}

main()
{
Stu A;
}
此时,类中的函数也是在函数外。
2、在主函数中定义类:

main()
{

class Stu{
int a;
Stu();
};

Stu::Stu(){
pritnf("Abcd");
}

Stu A;
}

希望能帮到您! 望采纳!本回答被提问者采纳
相似回答