VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 505|回复: 24

《实用C++》第37课 类的静态成员

[复制链接]
51_avatar_middle
online_admins Syc 发表于 2018-5-5 23:18:00 | 显示全部楼层 |阅读模式
1、类的静态成员变量:
之前给大家讲解了很多关于类的普通成员变量的知识。也跟大家说过,用类定义的多个对象之间彼此独立,各自拥有自己的一套成员变量,互不影响!但是有时候呢,某个类的所有对象共同拥有一个东西,或者说一个变量。打个比方,咱们之前定义的学生类 CStudent,每个学生都有自己的名字、学号、性别、年龄等属性。那么他们有没有共同的属性呢?有,比方说该学校的校长。不可能每个学生一个校长,我们先假定所有这些学生都是在一所学校,那么也就是说所有这些学生都只有一个公共的校长,这个校长不属于某个学生,而是属于这个学生类大家的,或者说属于这个学校。

所以,这时候将校长作为学生类 CStudent 的普通成员变量就有点不合适了。或者说也不方便。应该将它作为类的静态成员变量:
①、这样所有对象都可以直接访问这个静态成员变量,而且值是一样的;
②、静态成员变量在内存中只占用一份存储空间;
③、静态成员变量的值对于所有对象来说都是一样的。如果其中一个对象调用函数将其改变了,那么其他成员在访问这个静态成员变量的时候的值都是改变之后的;
④、只要在类中定义了类的静态成员变量,那么就占用存储空间了,不管有没有定义这个类的对象,因为静态成员变量不属于任何类对象,而是属于该类;
⑤、静态数据成员需要在类外进行声明或声明并初始化,否则在使用的时候会报链接的错误;
⑥、类的静态成员在定义的时候需要加 static,在类外声明的时候不需要加 static 关键字;
⑦、不能用构造函数的参数初始化表的形式对静态成员进行初始化操作;
⑧、静态数据成员既可以通过对象名引用,也可以通过类名来直接引用,具体代码见视频教程!
⑨、public 公有类型的静态数据成员,可以被类的对象引用,也可以直接用类名来引用。但如果静态数据成员被定义成private私有的,那么通过对象或者类名来引用都是不可以的,必须通过类的public类型的静态成员函数来引用了。

2、类的静态成员函数:
跟类的静态成员变量一样,类的静态成员函数也不属于该类的对象,而是属于这个类。
①、类的静态成员函数可以通过类对象调用,也可以通过类名调用;
②、之前跟大家说过类的普通成员函数中可以使用标识该类对象的this指针,但是类的静态成员函数是属于类,不属于任何对象,所以静态成员函数中没有this指针,也就无法访问本类的非静态成员变量,因为不知道是哪个对象的。
③、所以,类的静态成员函数可以直接引用类的静态成员变量,因为他们的作用域相同,都是属于该类的。

3、类的静态成员相关代码举例详见视频教程讲解!

第37课免费试看,下载地址回复后可见:
游客,如果您要查看本帖隐藏内容请回复

#######################################################
获得所有教学视频、课件、源代码以及售后答疑详见:
《实用C++》:http://www.cctry.com/thread-275996-1-1.html
VC驿站官方客服QQ:8260671

#######################################################

评分

参与人数 1驿站币 +1 热心值 +1 收起 理由
62_avatar_small C语言小神 + 1 + 1 支持原创!

查看全部评分

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

62_avatar_middle
online_member C语言小神 发表于 2018-5-5 23:48:56 | 显示全部楼层
分点这么多,怕是一时半会儿背不下来,捡几个必背的涂个红呗。。。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

51_avatar_middle
ico_lz  楼主| Syc 发表于 2018-5-6 00:00:47 | 显示全部楼层
C语言小神 发表于 2018-5-5 23:48
分点这么多,怕是一时半会儿背不下来,捡几个必背的涂个红呗。。。

每个知识点都在视频教程中有详细的讲解。
另外分这么多点也不是让大家死记硬背的,关键还得是多敲代码,多实践,这样自然而然的也就记住了!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

78_avatar_middle
online_member csa 发表于 2018-5-6 00:04:17 | 显示全部楼层
又出课,谢谢

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

98_avatar_middle
online_member tomok 发表于 2018-5-6 07:51:12 | 显示全部楼层
谢谢
继续学习

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

74_avatar_middle
online_vip08 wssfcn 发表于 2018-5-6 09:36:49 | 显示全部楼层
看看            

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

75_avatar_middle
online_member Sam599 发表于 2018-5-6 10:08:32 | 显示全部楼层
感谢楼主分享!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

95_avatar_middle
online_member zjh2008 发表于 2018-5-6 10:42:24 | 显示全部楼层

谢谢
继续学习

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

44_avatar_middle
online_member a281288098 发表于 2018-5-6 12:44:52 | 显示全部楼层
多谢楼主录制教程。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

69_avatar_middle
online_member awfymwvf 发表于 2018-5-7 08:44:37 | 显示全部楼层
又有新教程了,支持SYC大神

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

80_avatar_middle
online_member zp521 发表于 2018-5-7 08:47:05 | 显示全部楼层
坚持学习!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

43_avatar_middle
online_vip Conanmilk 发表于 2018-5-7 14:31:47 | 显示全部楼层
支持支持,加油加油

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

94_avatar_middle
online_vip08 Mtong 发表于 2018-5-7 17:42:28 | 显示全部楼层

支持支持,加油加油

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

69_avatar_middle
online_member hbjdt 发表于 2018-5-8 09:17:41 | 显示全部楼层
一直在学习!!!!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

82_avatar_middle
online_member love_cctry 发表于 2018-5-8 10:09:45 | 显示全部楼层
支持站长,讲解的非常不错!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

55_avatar_middle
online_member niexx 发表于 2018-5-8 18:22:51 | 显示全部楼层
又出课,谢谢

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

82_avatar_middle
online_member ha521ha 发表于 2018-5-9 08:25:53 | 显示全部楼层
想学习一下,C++

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

17_avatar_middle
online_member chenhu 发表于 2018-5-9 17:21:41 | 显示全部楼层
谢谢
继续学习

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

88_avatar_middle
online_vip wyc2008 发表于 2018-5-10 09:33:39 | 显示全部楼层
看看 学习一下

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

22_avatar_middle
online_vip jesy 发表于 2018-5-10 22:32:58 | 显示全部楼层
学习了啊............

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /1 下一条

QQ
QQ在线咨询
联系电话
13591366679
手机扫一扫 关注本站精彩内容
wxqrcode

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-5-21 15:20

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表