C语言,C++面试大全,相关知识查漏补缺

static用法

. 1.局部静态变量

1.1生命周期即存储控件分配

无论在C还是C++中,局部变量主要分为auto和static俩种类型,其中默认类型为aotu类型,该类型的存储空间在计算机的栈上也就是动态存储空间,也就是只要出了作用域空间,生命周期就会结束。加上static之后,该局部变量就会成为静态局部变量。该变量的存储空间也会发生变化,存储空间会变为计算机的堆上,此时该局部变量的生命周期就会发生本质的变化,在程序的运行期间,该变量的生命空间会一直存在。

. 2.静态数据成员以及成员函数(C++独有)

静态数据成员以及成员函数,其实用一句最核心的话:静态数据成员以及成员函数只属于类,而其他数据成员以及成员函数属于类所生成的对象。举个例子:如果想要知道一个类new了多少对象,就可以使用static来实现。对于静态数据变量来说,在内存中只有一个副本,普通成员函数进行调用的时候需要传入this指针。对于静态成员函数来说是没有this指针的。

. 3.外部静态成员以及成员函数

关于在外部静态成员以及成员函数。理解来说,无论在C中还是C++中都会适用,不过就使用的实际情况来说,主要使用在C中,主要是为了限制别的文件对此文件中加了static的外部静态成员以及成员函数的访问。

2.纯虚函数和基类

纯虚函数

1.什么是纯虚函数?
首先呢,要清楚一点的就是纯虚函数一般情况下只有申明,没有定义。因为纯虚函数出现的意义就是为了告诉那些码农们,这个函数是没有实际意义的。虚函数的定义其实很简单,只需要在定义该函数的声明语句的分号之前加***“=0”***就可以将一个虚函数说明为虚函数,这块儿需要注意了,你得先是虚函数,才能是纯虚函数。
2. 纯虚函数的一些特性
2.1 首先 =0 只能出现在类内部的虚函数声明语句处。
2.2 需要注意的是,我们也可以为纯虚函数提供定义,不过定义的函数体必须放在类的外部。因为我们不能在类的内部为一个=0的函数提供函数体。
3. 纯虚函数的意义
我们在实际的项目中会碰上这样一种需求,基类中声明并且定义了一个虚函数,基类的第一层派生了继承了这个虚函数,而此时的这个类并不做具体的是实现,而是它的派生类去作具体的实现。太绕了,举个例子说明:
比如说超市的销售。定义一个基类Base,收费的函数实现就是单价乘以个数。但是单超市想搞促销活动的话,就得继续实现了。首先促销都活动有俩种:一种是库存小于某个值时,恢复原价,另一种是根据顾客得购买量来打折。这样得话就需要实现一个类,它得主要作用就是增加库存值和购买超过量这俩个值。然后再派生俩各类来具体实现这俩种打折方案。其中这个类,是肯定不希望去乱初始化得,因为没有意义。

抽象基类

1.什么是抽象基类?
含有纯虚函数的类就叫做抽象基类。
2.基类的一些注意事项
抽象基类是不能创建对象的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值