C++ //纯虚函数和抽象类 // 语法 virtual 返回值类型 函数名 (参数列表)=0 //当类中有了纯虚函数 这个类也称为抽象类

时间:2023-03-08 18:00:26
 1 //纯虚函数和抽象类
2 // 语法 virtual 返回值类型 函数名 (参数列表)=0
3 //当类中有了纯虚函数 这个类也称为抽象类
4
5
6 #include <iostream>
7 #include <string>
8 using namespace std;
9
10 class Base
11 {
12 public:
13 //纯虚函数
14 //只要有一个纯虚函数,这个类称为抽象类
15 //抽象类特点
16 //1.无法实例化对象
17 //2.抽象类的子类,必须要重写父类中的纯虚函数,否则也属于抽象类
18 virtual void func() = 0;
19
20 };
21
22
23 class Son :public Base
24 {
25 public:
26 virtual void func()
27 {
28
29 cout << "func函数调用!!" << endl;
30 }
31
32 };
33
34
35 class Son2 :public Base
36 {
37 public:
38 virtual void func()
39 {
40
41 cout << "func2函数调用!!" << endl;
42 }
43
44 };
45
46 void test01()
47 {
48 //Base b; //1.纯虚函数(抽象类)无法实例化对象
49 //new Base; //1.纯虚函数(抽象类)无法实例化对象
50
51 //Son s; //抽象类的子类,必须要重写父类中的纯虚函数,否则也属于抽象类
52
53 Base* base = new Son;
54
55 base->func();
56
57 base = new Son2;
58
59 base->func();
60
61
62 }
63
64 int main()
65 {
66
67 test01();
68
69
70 system("pause");
71
72 return 0;
73
74 }

C++   //纯虚函数和抽象类 // 语法 virtual 返回值类型 函数名 (参数列表)=0 //当类中有了纯虚函数 这个类也称为抽象类