• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C++类中的常数据成员与静态数据成员之间的区别

C++类中的常数据成员与静态数据成员之间的区别

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c++静态类,c++类,c++ string类,c++类的使用,c++类与对象等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

刚开始学习C++的类和对象的部分,对类中的常数据成员和静态数据成员的概念和用法经常混淆,所以今天整理一下,顺便说一下,今天是我的生日,祝我生日快乐,呵呵。

常数据成员
常数据成员是指在类中定义的不能修改其值的一些数据成员,类似于我们以前学过的常变量,虽然是变量,也有自己的地址,但是一经赋初值,便不能再被修改。

适用于类中定义一些初始化之后不希望被修改的变量。

定义方法:

(2)常数据成员是实例化对象的一部分,可以用this指针访问。

静态数据成员
其实常数据成员和静态数据成员完全是两码事,只不过一开始学习的时候容易混淆罢了。通过上面的解释,我们知道常数据成员类似常变量,是一种一经赋值就不可以改变的变量。

它们最大的区别就是静态数据成员是可以被修改的,而且可以被任何一个对象修改,修改后的值,可以被所有的对象共享。

静态数据成员是属于一个类的而不是某一个对象,它是为该类所定义的所有的对象所共有。该类所定义的对象都可以引用该静态成员,并且值都是一样的。

静态数据成员的存储空间不同于普通的数据成员,它不属于类的任何一个对象,是独立于对象存储的,因此也不可以通过对象的this指针来访问。

并且,静态数据成员不可以用参数初始化表进行初始化操作,原因很简单,因为初始化表是在定义对象的时候进行的利用了this指针进行操作,所以不可以。

静态数据成员的定义的方式:

可以通过类名直接访问:

分析: 我们在程序中可以使用类名直接访问静态数据成员变量,就直接说明了它不属于任何一个对象的这个特点。 我们在定义对象two的时候只对c_num进行了赋值,但是我们使用two.s_num进行输出的时候也是可以输出的,这也说明了这个数据成员确实可以被所有的对象进行引用,并且值都是相同的,因为它本身就不属于任何一个对象。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C++类中的常数据成员与静态数据成员之间的区别
  • C++类静态成员与类静态成员函数详解
  • C++类的静态成员初始化详细讲解

相关文章

  • 2017-05-28C++中共用体的定义与应用总结
  • 2017-05-28C语言中的各种文件读写方法小结
  • 2017-05-28C语言实现的统计php代码行数功能源码(支持文件夹、多目录)
  • 2017-05-28C++输入一个字符串,把其中的字符按照逆序输出的两种方法解析
  • 2017-05-28c语言打印输出双引号的方法示例
  • 2017-05-28用C语言实现从文本文件中读取数据后进行排序的功能
  • 2017-05-28C语言实现用户态线程库案例
  • 2017-05-28基于C++语言实现机动车违章处罚管理系统
  • 2017-05-28C与C++之间相互调用实例方法讲解
  • 2017-05-28基于C语言字符串函数的一些使用心得

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C++中fstream,ifstream及ofstream用法浅析
    • 使用C/C++语言生成一个随机迷宫游戏
    • 深入学习C语言中的函数指针和左右法则
    • 判断整数序列是否为二元查找树的后序遍历结果的解决方法
    • fcntl函数的使用详解
    • ASCII编码,将英文存储到计算机
    • 堆排序算法(选择排序改进)
    • VC打印word,excel文本文件的方法
    • C语言中正切的相关函数总结
    • 使用C语言的fork()函数在Linux中创建进程的实例讲解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有