《面向对象程序设计 C++》类数据成员和类成员函数

摘要:类数据成员C++类中有一种类型成员,属于类本身,而不属于类的对象,这种类型成员成为类成员,而属于对象的成员成为对象成员或者实例成员。可以使用关键字static来创立一个类成员。static公告与定义在类公告内部公告的static数据成员必需在任何程序块之外定义。通过外部定义将C::n初始化为0,但这不

类数据成员

C++类中有一种类型成员,属于类本身,而不属于类的对象,这种类型成员成为类成员,而属于对象的成员成为对象成员或者实例成员。可以使用关键字static来创立一个类成员。

static公告与定义

在类公告内部公告的static数据成员必需在任何程序块之外定义。通过外部定义将C::n初始化为0,但这不是必需的,由于在创立第一个对象时,所有的静态数据都会被初始化为零,除非提供一个不同的初值。并且在类体外定义的,不必使用static

static数据成员不会影响该类及其对象的sizeof。

类成员函数

除了static数据成员,类还可以有static成员函数。静态成员函数只能访问其余的static成员,包括数据成员和成员函数。

静态成员函数与非静态成员函数差别是:非static成员函数既可以访问static数据成员,也可以访问非static数据成员;而static成员函数只能访问static成员。

类的static成员的访问

有两种不同方式来访问类的static成员,既可以通过C的对象来访问,也可以直接通过类C来访问。

在类成员函数内定义static变量

输出结果:

本例在成员函数m中定义了一个static变量s,因为s定义在程序块内,他拥有程序块范围,由于只能在m内部访问。每调用m一次,s就会相应的添加一次,又由于m是C的成员函数,所以C的所有对象都共享这个静态局部变量,这样,对m的每一次调用访问的都是同一个s,同样,对于静态局部变量n来说,它也是一个静态局部变量,所以C的所有对象也都共享这个局部变量。

  • 全部评论(0)
最新发布的资讯信息
【系统环境|服务器应用】在CentOS 7上如何安装Gogs 0.11.53(2020-02-10 10:14)
【系统环境|】淘码库,据消息称已被调查。淘码库源码网,已经无法访问!(2020-01-14 04:13)
【系统环境|服务器应用】Discuz隐藏后台admin.php网址修改路径(2019-12-16 16:48)
【系统环境|服务器应用】2020新网站如何让百度快速收录网站首页最新方法,亲测有用!免费(2019-12-16 16:46)
【系统环境|服务器应用】Discuz发布帖子时默认显示第一个主题分类的修改方法(2019-12-09 00:13)
【系统环境|软件环境】Android | App内存优化 之 内存泄漏 要点概述 以及 处理实战(2019-12-04 14:27)
【系统环境|软件环境】MySQL InnoDB 事务(2019-12-04 14:26)
【系统环境|软件环境】vue-router(单页面应用控制中心)常见用法(2019-12-04 14:26)
【系统环境|软件环境】Linux中的Kill命令(2019-12-04 14:26)
【系统环境|软件环境】Linux 入门时必学60个文件解决命令(2019-12-04 14:26)
手机二维码手机访问领取大礼包
返回顶部