C++中抽象类和纯抽象类有什么区别? [英] What is the difference between abstract class and pure abstract class in C++?

查看:41
本文介绍了C++中抽象类和纯抽象类有什么区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

示例:

迭代器是纯粹的抽象:任何表现得像迭代器是一个迭代器.

Iterators are pure abstractions: Anything that behaves like an iterator is an iterator.

什么意思?

推荐答案

抽象类至少有一个纯虚函数.这是标准的 C++ 术语.

An abstract class has at least one pure virtual function. This is standard C++ terminology.

有些人使用术语纯抽象类来描述一个只有纯虚函数(换句话说,没有数据成员也没有具体函数)的类.这相当于 Java 接口.

Some people use the term pure abstract class to describe a class that has nothing but pure virtual functions (in other words, no data members and no concrete functions). This is equivalent to Java interfaces.

现在回答您的实际问题:

Now to your actual question:

迭代器是纯粹的抽象:任何行为类似于迭代器的都是迭代器.

Iterators are pure abstractions: Anything that behaves like an iterator is an iterator.

这与抽象类(纯或其他)无关.它只是说,任何满足迭代器契约的东西都是迭代器.它甚至不必是一个类(想想指针).

This has nothing to do with abstract classes (pure or otherwise). All it's saying is that anything that fulfils the iterator contract is an iterator. It doesn't even have to be a class (think pointers).

这篇关于C++中抽象类和纯抽象类有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆