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

 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 }

 

posted on 2021-08-09 08:43  Bytezero!  阅读(106)  评论(0编辑  收藏  举报