C++静态数据成员与静态函数(案例分析)
文章目录
- 一、静态数据成员
- 二、静态函数
一、静态数据成员
#include <iostream>
using namespace std;class Box
{public:Box(int, int); //声明带参构造函数 int volume(); //声明成员函数static int height; //定义静态成员数据int width;int length;
};//定义带参构造函数
Box::Box(int w, int len)
{width= w; //初始化为传进的参数 length= len;
}//定义计算体积成员函数
int Box::volume()
{return (height * width * length);
} //定义静态成员数据的值
int Box::height= 10;int main()
{Box b1(15, 20), b2(2, 3); //实例化两个对象b1,b2,传入不同参数cout << "b1的高度为" << b1.height << endl; cout << "b2的高度为" << b2.height << endl;cout << "b1的体积为" << b1.volume() << endl;cout << "b2的体积为" << b2.volume() << endl;return 0;
}
二、静态函数
#include <iostream>
using namespace std;class Student
{public:Student(int n, int a, float s):num(n), age(a), score(s){ }void total(); //声明成员函数static float average(); //声明静态成员函数,用来访问静态成员数据
private:int num;int age;float score;static float sum;static int count;
};//定义非静态成员函数
void Student::total()
{sum += score; //累加总分 count++; //累计已经统计的人数
} //定义鼎泰成员函数
float Student::average()
{return (sum/count); //总分除除人数
}float Student::sum= 0; //对静态成员数据初始化
int Student::count= 0; int main()
{//定义对象数组并初始化 Student stud[3]={Student(1001, 11, 70),Student(1002, 12, 80),Student(1003, 13, 90)};int n;cout << "请输入学生数量:" << endl;cin >> n;for(int i=0; i<n; i++) //调用3次total函数,统计总分 {stud[i].total();}//调用静态成员函数 cout << n << "个学生的平均分为:" << Student::average() << endl; return 0;
}
C++静态数据成员与静态函数(案例分析)相关推荐
- 什么是静态成员(静态数据成员和静态函数成员)
目录 一:静态成员: 二:静态数据成员: 三:静态数据成员的特点: 四:访问静态数据成员 五:静态函数成员,如何定义成员函数 六:静态数据成员的特点. 一:静态成员: 在c++类中声明成员时, 加上s ...
- 【C++基础学习】关于C++静态数据成员
静态类成员包括静态数据成员和静态函数成员两部分. 一. 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员.和其他数据成员一样,静态数据成员也遵守pu ...
- c语言类静态数据成员函数,鸡啄米:C++编程入门系列之二十一(C++程序设计必知:类的静态成员)...
鸡啄米在上一讲数据和函数中讲到,函数之间共享数据也就是此函数访问彼函数的数据主要是通过局部变量.全局变量.类的数据成员.类的静态成员及友元实现的,前三个已经讲过了,这一讲鸡啄米来讲讲静态成员.静态成员 ...
- 实现客户机(Client)类声明字符型静态数据成员ServerName,保存其服务器名称;整型静态数据成员ClientNum,记录已定义的客户机数量;定义静态函数成员ChangeServerName
实现客户机(Client)类.声明字符型静态数据成员ServerName,保存其服务器名称:整型静态数据成员ClientNum,记录已定义的客户机数量:定义静态函数成员ChangeServerName ...
- 静态数据成员与非静态数据成员的区别
数据成员: 静态数据成员是类的一部分,为类的所有实例共享(静态区): 非静态数据成员,类的每个实例都有一份拷贝(动态区). 静态数据成员的访问: 静态数据成员是类的一部分,在产生任何实例之前已经存在, ...
- Qt使用导出类报错:error C2491: “ZMapWidget::staticMetaObject”: 不允许 dllimport 静态数据成员 的定义
在使用一个继承自QObject带有Q_OBJECT宏的导出类时,编译报错:不允许 dllimport 静态数据成员 的定义. 原因是自动生成的moc文件带有静态函数,无法导出. 1.在Qt中的解决办法 ...
- C++类的静态数据成员-关键字static
C++类的静态数据成员-关键字static 定义:用static关键字声明的数据成员称为静态数据成员. 每个类只有一个存储单元,静态数据成员为该类的所有对象共有,不属于某个对象.静态数据成员的初始化必 ...
- Hadoop大数据平台开发与案例分析
关于举办"Hadoop大数据平台开发与案例分析 "高级工程师 一.课程介绍 1. 需求理解 Hadoop 设计之初的目标就定位于高可靠性.高可拓展性.高容错性和高效性,正是这些设计 ...
- Qt使用导出类报错:error C2491: “LmcThreadPaddle::staticMetaObject”: 不允许 dllimport 静态数据成员 的定义
Qt使用导出类报错:error C2491: "LmcThreadPaddle::staticMetaObject": 不允许 dllimport 静态数据成员 的定义 在使用继承 ...
最新文章
- 一般熟练盲打需要多久_进口攻略!一般货物进口清关需要多久?如何有效提高清关效率?...
- 百度CTO王海峰:百度Paddle已支持超过70个主流的模型
- 杭州市全国计算机等级考试报名时间,浙江省杭州市2017年3月全国计算机等级考试报名时间及方式...
- uc浏览器为什么安装在c盘_你肯定不知道为什么Windows上面的软件都想把自己安装在C盘...
- Bit-Z推出去中心化多链钱包CoinU 打造资产价值生态体系
- [html] 切页面时,每次都动手刷新看效果很麻烦,如果要让你写一个实时刷新预览的工具你该怎么写?
- Windows编程 第七回 绘图课(上)
- 洛谷P1141 01迷宫【bfs】
- Python数据分析基础技术之scikit-learn(史上最全面)
- react-router嵌套路由页面无法显示
- 运营必知的数据运营精髓
- 中国传统文化-雨课堂期末2022
- (六)Python查询12306余票:升级版-----图形化界面代码
- VTK笔记-裁剪分割-几何裁剪-vtkClipPolyData
- 自然语言处理NLP(10)——语义分析
- BFS最强—如龙题解
- 错误 101 (net::ERR_CONNECTION_RESET):连接已重置。
- 更改计算机菜单字体大小,Win10如何修改右键菜单字体?Win10调整右键菜单字体大小的方法...
- NASM doc翻译 by chio.yang@gmail.com
- ADO.NET系列之操作XML
热门文章
- 如何禁用特定css_通过CSS追踪用户
- python语音库_Python中的Python文本到语音
- 希尔排序是一种稳定的排序算法_排序算法—希尔排序
- PHP 5.6 中 Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future
- 数据库某个字段增加或减少数量
- matlab销量预测的数学模型,数学建模:酒店最优化问题.用matlab算出《酒店价格预测模型》...
- 平安京服务器维护无法发布新内容,决战平安京无法登陆怎么解决 无法登陆原因及解决方案一览_3DM手游...
- MVC如何在HTML跳页面,请问在mvc网页中,如何跳转到web Form网页?
- 获取两个时间之间的间隔_花了两天,终于把 Python 的时间转化给整明白了(超多图解)...
- java做flv直播服务器,EasyDSS流媒体服务器软件(支持RTMP/HLS/HTTP-FLV/视频点播/视频直播)-正式环境安装部署攻略...