C++抽象类实战:从理论到代码实现

张开发
2026/4/15 6:16:19 15 分钟阅读

分享文章

C++抽象类实战:从理论到代码实现
抽象类的基本概念抽象类定义了一组方法如move()但可能不提供具体实现。它类似于交通工具这一抽象概念需要派生类如Car、Bike实现具体功能。抽象类的特点包含至少一个纯虚函数声明方式为virtual 返回类型 函数名() 0;不能直接实例化为派生类提供统一的基础结构和接口代码实现示例#includeiostreamusingnamespacestd;classTeacher{public:string name;string school;string major;virtualvoidgoInClass()0;virtualvoidstartTeaching()0;virtualvoidafterTeaching()0;};classEnglishTeacher:publicTeacher{public:voidgoInClass()override{cout英语老师开始进入教室endl;}voidstartTeaching()override{cout英语老师开始教学endl;}voidafterTeaching()override{}};classMathTeacher:publicTeacher{public:voidgoInClass()override{cout数学老师开始进入教室endl;}voidstartTeaching()override{cout数学老师开始教学endl;}voidafterTeaching()override{cout数学老师下课后手把手教做题endl;}};intmain(){EnglishTeacher e;e.goInClass();MathTeacher t;t.startTeaching();t.afterTeaching();Teacher*teachernewMathTeacher;// 抽象类指针实现多态teacher-startTeaching();deleteteacher;return0;}关键点说明Teacher是抽象类含三个纯虚函数派生类必须实现所有纯虚函数如EnglishTeacher::goInClass()通过抽象类指针可实现运行时多态Teacher* teacher new MathTeacher代码可直接复制使用注意内存管理示例中未包含delete实际需补充。

更多文章