首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C+编程进阶级——我的学C笔记008、抽象类、接口类都是什么类

各位小伙伴大家好:

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

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

首先还是来看看结果

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

下面来看代码

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

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

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

笔记:

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

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

2、另外这里的栈,只是模拟了栈的功能。Pop函数其实并没有删除字符数组的元素,只是每一次返回数组中的不同元素(top的值)

将代码做一点小小的修改来验证我们的结论

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

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

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

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

欢迎加入微信群获取源代码和素材。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190814A0DEM300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券