1 #include <iostream>
2 using namespace std;
3
4 //纯虚类
5 class error
6 {
7 public:
8 //纯虚函数
9 virtual void showerror() =
0;
10 };
11
12 class big :
public error
13 {
14 public:
15 void showerror()
16 {
17 cout <<
"big error" <<
endl;
18 }
19
20 };
21
22 class small :
public error
23 {
24 public:
25 void showerror()
26 {
27 cout <<
"small error" <<
endl;
28 }
29
30 };
31
32 class zero :
public error
33 {
34 public:
35 void showerror()
36 {
37 cout <<
"zero error" <<
endl;
38 }
39
40 };
41
42 //抛出一个引用对象
43 class print3d
44 {
45 public:
46 print3d(
double size)
47 {
48 if (size ==
0)
49 {
50 throw &
zero();
51 }
52 else if (size >
1000)
53 {
54 throw &
big();
55 }
56 else if (size <
1)
57 {
58 throw &
small();
59 }
60 }
61 };
62
63 void main()
64 {
65 try
66 {
67 print3d dg(
0);
68 }
69 catch (error *
p)
70 {
71 p->
showerror();
72 }
73 cin.
get();
74 }
转载于:https://www.cnblogs.com/xiaochi/p/8686246.html
转载请注明原文地址: https://win8.8miu.com/read-27263.html