什么是C++中的抽象类

什么是C++中的抽象类

根据定义,一个C++的抽象类必须至少包括一个纯虚函数。或者说,放一个没有定义的函数。因为否则子类本身就会变成一个抽象类,所以抽象类的子类必须指定纯虚函数。

广义的概念用抽象类来表达,然后可以利用它来构造更具体的类。你不能制造一个抽象类类型的对象。然而,指针和引用可以被用于抽象类的类型。当开发一个抽象类时,至少要定义一个纯虚拟功能。虚函数是使用纯指定符(=0)语法声明的。

考虑一下虚函数的例子。尽管这个类的目标是为形状提供基本功能,但形状类型的元素太过笼统,没有什么价值。正因为如此,形状是抽象类的一个很好的候选者。

代码

C-lass classname //abstract class
{
//data members                                                        
public:
//pure virtual function
/* Other members */
};

抽象类的特点是什么

虽然抽象类的类型不能从头开始创建,但它可以有指针和引用。在抽象类中,除了常规的函数和变量外,还可以存在一个纯虚拟函数。上传,让派生类访问其接口,是抽象类的主要用法。从抽象类衍生出来的类必须实现所有的纯优点。

对抽象类有什么限制

抽象类的以下用途是不允许的。

  1. 有意识地进行的转换
  2. 成员数据或变量
  3. 函数输出的类型
  4. 辩论的形式

当一个纯虚拟方法被抽象类的本地代码函数Object()明确或间接地调用时,会发生什么情况是未知的。反之,抽象组构造函数和析构函数可以调用额外的成员函数。

尽管抽象类的构造函数可以调用其他成员函数,但如果它们直接或间接调用纯虚拟函数,结果就不得而知了。但是,请稍等一下!究竟什么是纯虚函数?

让我们先研究一下虚拟函数,以便理解纯虚拟函数。

一个被派生类从基类声明中重新定义的成员函数被称为虚函数。

一个缺乏定义或逻辑的虚拟函数被称为抽象函数或纯虚拟函数。在声明的时候,0被分配给它。

抽象在日常生活中的重要性如何

ATM机是日常生活中抽象化的另一个例子;。然而,我们都使用ATM机来完成取款、转账、生成小账单等任务,而我们无法访问ATM机的内部数据。像数据抽象这样的数据保护技术可以防止对数据的非法访问。

抽象类和接口的区别是什么

接口| 抽象类一个接口只能继承另一个接口。 使用Extended关键字,一个抽象类可以执行一个接口并继承另一个类。 为了实现一个接口,需要使用 implements关键字。 使用extends关键字来继承一个抽象类。

抽象类的一个例子是什么

考虑开发一个计算器,当输入形状的周长时,它可以输出。考虑一下你将使用何种编程方式来创建这样一个计算器。通过在Shape类内部创建不同的函数,你可以从一些基本的表格开始,硬编码周长。

这个类可能是这样出现的。

什么是抽象类的例子

考虑开发一个计算器,当输入形状的周长时,该计算器将输出周长。考虑一下你会用什么类型的编程来创建这样一个计算器。通过在Shape类内部创建不同的函数,你可以从一些基本的表格开始,硬编码周长。

这个类可能是这样出现的。

class Shape {
  public:
// All the functions of both square and rectangle are clubbed together in a single class.
void width(int w) {
shape_width = w;
}
void height(int h) {
shape_height = h;
}
int areaOfSquare(int s) {
return 4 * s;
}
int areaOfRectange(int l, int b) {
return (l * b);
}
protected:
int shape_width;
int shape_height;
};
int main (){
shapes R;
R.width(5);
R.height(10);
cout<<"The area of rectangle is"<

输出

什么是C++中的抽象类?

虽然OOP建议我们应该尝试坚持现实世界的推理,但这仍然可以发挥作用。因此,我们可以创建Shape类作为父类,Square和Rectangle类作为子类。如果你以后想添加新的东西,你可以在子类中进行,这将使程序的维护更加简单。我们必须使用抽象类来实践这一功能。在C++中,抽象类至少需要一个纯虚函数。为了防止子类成为抽象类,抽象类的继承类必须指定纯虚函数。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程