频道首页
目录
局部类和嵌套类_无梦
收藏
0
1. 嵌套类
1. 什么是嵌套类
在类中定义类,即为嵌套类。外部的类称为外围类,在外部类内部的类称为的嵌套类。
2. 嵌套类的特点
外围类可以通过内部类的对象访问嵌套类的公有成员,嵌套类不可以访问外围类的任意成员。
嵌套类的成员函数可以在类体外定义,嵌套类只是语法上的嵌套。
外围类需要使用嵌套类的对象作为底层实现,且嵌套类只用于外围类的实现,同时对用户隐藏底层实现。
从作用域的角度讲,嵌套类被隐藏在外围类之中,该类名只能用于外围类中使用。如果在外围类之外的作用域使用该类名时,需要加名字限定。
3. 嵌套类案例
class A{
public:
class B{
public:
int b;
void print();
void print1()
{
cout<<"嵌套类 print1"<<endl;
}
protected:
int c;
pirvated:
int d;
};
B b_;
void print3()
{
cout<<"外围类 print3"<<endl;
}
};
void A::B::print()
{
cout<<"嵌套类 print"<<endl;
}
int main()
{
A obj;
obj.b_.print();
obj.b_.print1();
obj.print3();
obj.b_.b;
// obj.b_.c obj.b_.d 显然不可以访问到
//通过作用域说明符也可以直接定义嵌套类的对象
A::B:: obj1;
obj1.print();
obj1.print1();
}
2. 局部类
1. 什么是局部类
定义在函数内部的类称为局部类,局部类只在局部域可用。
2. 局部类的特点
局部类的成员函数只能在类体中定义。
局部类不可以有静态成员函数。
在实践中,局部类很少用。
3. 局部类案例
void Sum(){
class A{
public:
int a;
int b;
void Print(int k)
{
cout<<k<<endl;
}
};
A obj;
int k=obj.a+obj.b;
obj.Pirnt(k);
}
3. 异常处理
1. 什么叫异常处理?
答∶异常处理是一种程序定义的错误,它对程序的逻辑错误进行设防,并对运行异常加以控制。在C++中,异常处理是对所能预料的运行错误进行处理的一套实现机制。
2. C++的异常处理机制有何优点?
答:C++的异常处理机制使得异常的引发和处理不必在同一函数中。C++异常处理的目的是在异常发生时,尽可能地减小破坏,周密地善后,而不影响其他部分程序的运行。这样底层的函数可以着重解决具体问题,而不必过多地考虑对异常的处理。上层调用者可以在适当的位置设计对不同类型异常的处理,这在大型程序中是非常必要的。
申请加入
主页
会议室
Git管理
文章
云文档