可以,前者一般称为嵌套类,嵌套类一般为于定义执行类。class A{ class B{}; };外围类与嵌套类相互独立,相互没有特殊访问权限且对A的构造不会影响到B,只有需要使用到B的时候才会去实现,嵌套类的名子在其外围类的作用域中可见,但在其他类作用域或者定义外围类的作用域中是不可见的,嵌套类实际上是定义了其外围类的一个类型成员,外围类决定了对这个嵌套类的访问,如果嵌套类定了静态(static)成员,则也需要在外围类的外部进行定义。函数中也是可以嵌套类的,称为局部类,一般用于简单定义,此类型只在它的局部作用域中是可见的局部类的所有成员必须在类定义体内部内行定义,而且局部类是不允许声明静态成员的,因为没有办法定义。
这些是您问的问题的一些基本概念,可能有些地方不全面,如需深入了解请查看相关资料
1、类的定义是可以嵌套的
2、在函数中可以定义类,但是意义不大,因为在函数中定义类,你只能在这个函数中使用这个类,其他的函数是没法用的,所以一般不会把类的定义放在函数中,但是这并没有错,能编译过,也就是说作用域只在函数。
1.可以,你可以作比如
class A
{
class B{}
}
2,不行,进入函数实现时不能定义类的!
不行,在函数中不能定义类,类可以包含函数,但是函数不可能包含类,你也没见过吧?、