c++

状课网-少儿编程网课专业平台

c++ C++编程进阶级—抽象类、接口类都是什么类

发布时间:2021-11-22 13:56:32 浏览 0
各位小伙伴大家好:

今天和大家分享的内容是关于标准错误输出以及抽象类和接口类。

抽象类和接口类本质上也是类,只是他们不能实例化。

首先还是来看看结果

C++编程进阶级—抽象类、接口类都是什么类

结果输出了abc然后又倒序输出cba,后面还输出了一句提示。

下面来看代码

C++编程进阶级—抽象类、接口类都是什么类

C++编程进阶级—抽象类、接口类都是什么类

C++编程进阶级—抽象类、接口类都是什么类

程序声明了两个类,基类Stack和子类ArrayStack。其中基类的定义比较奇特,将成员函数赋值为0,只做了声明没有定义。

我们将这种只对成员函数进行声明,并不定义且函数赋值为0的类成为接口类。

另外如果接口类中定义其他非纯虚函数则称为抽象类。

笔记:

所谓抽象类就是在类的定义中只声明函数,至于这个函数要实现什么功能全部交给子类去完成(也就是只定义规则给子类留个接口)。将成员函数全部声明为纯虚函数并且赋值为0。

抽象类和接口类都不能实例化,只能给子类继承,在子类中实现函数的定义。

2、另外这里的栈,只是模拟了栈的功能。Pop函数其实并没有删除字符数组的元素,只是每一次返回数组中的不同元素(top的值) 将代码做一点小小的修改来验证我们的结论

C++编程进阶级—抽象类、接口类都是什么类

我们在ArrayStack类中加入一个成员函数用于显示字符数组中的元素。结果如下:

C++编程进阶级—抽象类、接口类都是什么类

我们在执行四次pop函数之后,p数组中的元素依然没有改变。另外函数f中的字符数组ch也没有变化。

所以这里的pop函数并不是删除数组中的元素,而只是返回数组不同位置的数值而已。

本期就介绍到这里,我们下期再会。

文章来源:创客编程小屋

本文链接:https://www.ascratch.com/news/17487.html

上一篇:C++编程进阶级—内联函数怎么联 下一篇:返回列表
相关推荐 更多