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

目录
相关文章
|
6月前
|
算法 C++ iOS开发
软件开发入门教程网 Search之C++ 接口(抽象类)
软件开发入门教程网 Search之C++ 接口(抽象类)
|
1月前
|
存储 算法 编译器
【C++入门到精通】C++入门 —— 多态(抽象类和虚函数的魅力)
多态是面向对象编程中的一个重要概念,指的是同一个消息被不同类型的对象接收时产生不同的行为。通俗来说,**就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态**。
44 0
|
1月前
|
算法 C++
c++接口(抽象类)
c++接口(抽象类)
15 0
|
9月前
|
C++
C++学习笔记_04抽象类、多态 2021-04-15
C++学习笔记_04抽象类、多态 2021-04-15
|
4月前
|
测试技术 C++
C++零基础教程(抽象类和接口)
C++零基础教程(抽象类和接口)
30 0
|
4月前
|
测试技术 C++
[C++/PTA] 抽象类Shape
[C++/PTA] 抽象类Shape
30 0
|
7月前
|
C++
C++的纯虚函数和抽象类
在C++中,可以将虚函数声明为纯虚函数,语法格式为: virtual 返回值类型 函数名 (函数参数) = 0; 纯虚函数没有函数体,只有函数声明,在虚函数声明的结尾加上=0,表明此函数为纯虚函数。 最后的=0并不表示函数返回值为0,它只起形式上的作用,告诉编译系统“这是纯虚函数”。 包含纯虚函数的类称为抽象类(Abstract Class)。之所以说它抽象,是因为它无法实例化,也就是无法创建对象。原因很明显,纯虚函数没有函数体,不是完整的函数,无法调用,也无法为其分配内存空间。抽象类通常是作为基类,让派生类去实现纯虚函数。派生类必须实现纯虚函数才能被实例化。纯虚函数使用举例:
42 0
|
9月前
|
C++
【C++】 --- 纯虚函数和抽象类
【C++】 --- 纯虚函数和抽象类
29 0
|
11月前
|
算法 C++
软件开发入门教程网 Search之C++ 接口(抽象类)
接口描述了类的行为和功能,而不需要完成类的特定实现。 C++ 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念。
|
12月前
|
Java 编译器 Android开发
Android C++系列:C++最佳实践2抽象类
OP面向对象程序设计的核心是数据抽象,继承和动态绑定。前面的文章我们介绍了使用virtual的虚类实现动态绑定的多态,有时候我们在做抽象时,对于抽象的实体不想让被人实例化,虚类没有这个功能,我们Java里面我们有抽象类,有接口来抽象一个实体的行为,而不允许被实例化,C++有没有这样的功能呢?C++怎么实现抽象类呢?
83 0