C++ 抽象

关键字:virtual

在C++中可以使用关键字 virtual将函数声明为抽象函数,从而对类进行抽象;至少有一个成员函数为抽象函数的类将被视为抽象类。抽象类无法进行实例化,因而抽象类在C++中一般是为了给其他类提供一个可以继承的适当的基类作为接口使用。

cpp 复制代码
#include <iostream>
using namespace std;

class Model {
	public:
		virtual int getData() = 0;
		void setData(int d) {
			this->data = d;
		}
	protected:
		int data;
};
class Ob: public Model {
	public:
		int getData() {
			return this->data;
		}
};

int main() {
    Ob b;
    b.setData(13);
    cout<<b.getData();
	return 0;
}
相关推荐
yaoxin5211237 小时前
434. Java 日期时间 API - Period 基于日期的时间段
java·开发语言·python
凡人叶枫8 小时前
Effective C++ 条款30:透彻了解 inlining 的里里外外
linux·开发语言·c++·嵌入式开发·effective c++
noipp8 小时前
推荐题目:洛谷 P10907 [蓝桥杯 2024 国 B] 蚂蚁开会
c语言·c++·算法·编程·洛谷
学逆向的8 小时前
C++纯虚函数
开发语言·c++·网络安全
程序员二叉8 小时前
【JUC】ThreadLocal底层原理|内存泄漏|弱引用|跨线程传递方案
java·开发语言·面试·职场和发展·juc
程序员二叉8 小时前
【JUC】线程池全套深度详解|参数|流程|拒绝策略|调优|异常处理
java·开发语言·jvm·算法·面试·juc
凡人叶枫9 小时前
Effective C++ 条款22:将成员变量声明为 private
linux·开发语言·c++
Qt程序员9 小时前
掌握 Linux 内核调度:从原理到实现(进程篇)
java·开发语言
code bean9 小时前
【LangChain】检索器完全指南:从向量检索到生产级 RAG 架构
java·开发语言·微服务
LabVIEW开发10 小时前
LabVIEW + MATLAB 混合编程:爆炸场测试数据精准采集方案
开发语言·matlab·labview