C++抽象类的实现

简介: 1、什么是抽象类?答:简单的说,抽象类就是至少有一个纯虚函数的类。2、抽象类的作用?答:抽象类的主要作用就是为它所组织的继承层次结构提供一个公共的基类,这样它就具有公有行为的特征,其它派生的类可以从这个公共的基类中继承和实现接口,通过抽象类多态的使用其中的成员函数。

1、什么是抽象类?

答:简单的说,抽象类就是至少有一个纯虚函数的类。

2、抽象类的作用?

答:抽象类的主要作用就是为它所组织的继承层次结构提供一个公共的基类,这样它就具有公有行为的特征,其它派生的类可以从这个公共的基类中继承和实现接口,通过抽象类多态的使用其中的成员函数。

抽象类案例:

#include <iostream>
#include <cstring>
using namespace std ;
//定义一个抽象类 
class abstruct
{
	//至少有一个纯虚函数的类称之为抽象类
	public :
		virtual void show() = 0 ;
};

class Dog : public abstruct 
{
	public :
		int a , b , c ;
	public : 
		int set(int a,int b , int c) ;
		void show();
};

int Dog::set(int a , int b , int c)
{
	this->a = a ; 
	this->b = b ; 
	this->c = c ; 
}

void Dog::show() 
{
	cout << this->a << endl ; 
	cout << this->b << endl ; 
	cout << this->c << endl ;	
}

int main(void)
{
	//抽象类指针 
	abstruct *ptr ; 
	//派生类对象定义 
	Dog dog ; 
	//派生类对象初始化 
	dog.set(100,200,300);
	//使用抽象类指针获取派生类 
	ptr = &dog ; 
	//使用抽象类指针调用派生类中的虚函数show 
	ptr->show();
	return 0 ;
}
运行结果:

100 

200 

300

目录
相关文章
|
C++
C++一分钟之-虚函数与抽象类
【6月更文挑战第21天】在C++中,虚函数与抽象类是多态的基础,增进类间耦合与灵活性。虚函数实现动态绑定,抽象类定义不可实例化的接口。关键点包括:记得使用`virtual`,避免滥用虚函数,确保派生类实现纯虚函数。抽象类不能直接实例化,派生类必须实现所有纯虚函数。通过实例代码学习和实践,能更好地掌握这些概念以优化代码设计。
161 2
|
算法 C++ iOS开发
软件开发入门教程网 Search之C++ 接口(抽象类)
软件开发入门教程网 Search之C++ 接口(抽象类)
|
7月前
|
存储 编译器 C++
【c++】多态(多态的概念及实现、虚函数重写、纯虚函数和抽象类、虚函数表、多态的实现过程)
本文介绍了面向对象编程中的多态特性,涵盖其概念、实现条件及原理。多态指“一个接口,多种实现”,通过基类指针或引用来调用不同派生类的重写虚函数,实现运行时多态。文中详细解释了虚函数、虚函数表(vtable)、纯虚函数与抽象类的概念,并通过代码示例展示了多态的具体应用。此外,还讨论了动态绑定和静态绑定的区别,帮助读者深入理解多态机制。最后总结了多态在编程中的重要性和应用场景。 文章结构清晰,从基础到深入,适合初学者和有一定基础的开发者学习。如果你觉得内容有帮助,请点赞支持。 ❤❤❤
870 0
|
C++
C++程序中的抽象类
C++程序中的抽象类
208 0
C++学习笔记_04抽象类、多态 2021-04-15
C++学习笔记_04抽象类、多态 2021-04-15
147 0
|
Serverless C++
C++多态性、虚函数、纯虚函数和抽象类知识网络构造
C++多态性、虚函数、纯虚函数和抽象类知识网络构造
|
存储 编译器 C语言
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题(下)
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题
160 1
|
存储 编译器 Linux
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题(中)
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题
140 1
|
C++
c++接口(抽象类)
c++接口(抽象类)
142 1
|
编译器 C语言 C++
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题(上)
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题
154 0