C++中抽象类的定义

如题所述

定义:
在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是反过来却不是这样。并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。纯虚函数是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法。在基类中实现纯虚函数的方法是在函数原型后加“=0”。[cpp] view plaincopyprint?virtual void funtion1()=0
virtual void funtion1()=0。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-22
含有纯虚函数的类就是抽象类,它是一种特殊的类,为一个了类簇提供统一的接口。
抽象类无法实例化(无法定义一个抽象类的对象),只能通过继承机制,生成抽象类的非抽象派生类,然后再实例化。

参考资料:解析c++程序设计

第2个回答  2012-04-24
含有纯虚函数的

class A
{
public:
void function(int a)=0; //必须写上=0,含有这样的函数的类叫做抽象类
}本回答被网友采纳
第3个回答  2020-11-26

C++日志(四十四)干货!带你搞清楚什么是抽象类
抽象类定义:在C++中,含有纯虚函数的类称为抽象类。抽象类的特性包括不能实例化。例如,在Animal和其子类Duck中,不能定义Animal类的具体对象。抽象类的主要作用是声明类族对外的接口,但抽象类本身不提供纯虚函数的实现。只有当使用抽象类作为父类时,其子类实现全部纯虚函数后,子类才能实例化。通过...

c++中抽象类到底有什么用处?
通常在编程语句中用 abstract 修饰的类是抽象类。在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象;在java中,含有抽象方法的类称为抽象类,同样不能生成对象。抽象类是不完整的,它只能用作基类。在面向对象方法中,抽象类主要用来进行类型隐藏和充当全局变量的角色。只要把这些东西对应到生活中...

抽象类:C++中定义,含有纯虚拟函数的类称为抽象类,它不能生成对象。_百...
C++中含有纯虚拟函数并且所有纯虚函数并未完全实现的类称为抽象类,它不能生成对象 第二种说法:当把一个类的构造函数或析构函数的访问权限定义为保护时,这种类可以由其派生类成员函数生成对象啊,这当然就不是抽象类

C++ 抽象类能实例化吗?
C++中的抽象类是一个关键概念,它不能直接实例化。试图使用new运算符创建一个抽象类的对象会导致编译错误。抽象类通常用于表示问题领域的抽象概念,通过纯虚函数或抽象方法来定义一组共性的行为。在C++中,这些类是不完整的,仅作为其他类的基类使用,用于类型隐藏和充当全局变量的角色。抽象类的特点在于它...

关于c++抽象类的问题
C++ 里设计了 “抽象类”目的是用作类似类的“基类”,给派生出的类 同类性质的东西 有同样的名字,但有不同的计算实现的方法。例如,抽象类 叫 平面图形,它有成员函数:面积计算,周长计算,派生出的类,非抽象类:椭圆类,矩形类,三角形类等。抽象类 作为 基类 里 面积计算,周长计算 都是 ...

C语言若干题目求解
2、1)抽象类的定义 用 abstract 修饰的类是抽象类。在C++中,含有纯虚函数的类称为抽象类,它不能生成对象。即:抽象类必须有的是纯虚函数 2)用法 a.抽象类不能产生对象的,但可以由它的实现类来声明对象。b.抽象类的派生类中继承抽象类的纯虚函数,则这个派生类还是一个抽象类 c.在抽象类中...

c++简述题(答案最好是书上的)
面向对象程序设计中的概念主要包括:对象、类、数据抽象、继承、动态绑定、数据封装、多态性、消息传递。通过这些概念面向对象的思想得到了具体的体现。同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。抽象类指的是含有纯虚...

C# 类没有实现接口中的所有方法 为什么通过了编译
用 abstract 修饰的类是抽象类。 在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象。 凡是包含纯虚函数的类都是抽象类。 抽象类是不完整的,并且它只能用作基类。它与非抽象类的不同: 1、抽象类不能直接实例化,并且对抽象类使用 new 运算符是编译时错误。虽然一些变量和值在编译时的类型...

C++何为数据抽象呢?请高手们帮忙详细回答一下
通常定义一个抽象类作为接口, 比如 class shape{ virtual void draw() ;} 任何继承该接口的子类, 都强制性的具有draw()行为, 所以任何子类都可叫做shape 在泛型编程中, 通常使用策略 策略是隐式接口, 在C\/C++其实就等于convention(约定), 比如我们约定变量i开头表示int类型 template< typename T> v...

什么事抽象,怎么抽象啊C++,现在我要对银行卡进行抽象,怎么个抽象法?
。抽象类特点就是只有方法指针,没有方法实现。。。实现由继承他的子类实现。。。就好比动物,有腿,这个腿就够抽象了,这个腿长什么样子,没人知道,你只知道他是走路的。。。因为没具体到是鸡腿鹅腿还是狗腿,他是没有具体的实物的。。。 但他肯定是用来走路的,所以你可以定义他,具体怎么走法...

相似回答