【计科一班】孙杨博——C++中的静态数据成员

用户头像
来自上海海洋大学-孙杨博发布于:2020-04-23 21:32:02

实现一个类的多个对象之间的数据共享,需要用到静态数据成员。

定义静态数据成员的格式:static 数据类型 数据成员名; 例:static  int num ;

注意:1.静态数据成员与普通数据成员相类似,但前面要加上static关键字。

2.静态数据成员初始化在类外单独进行,而且应在定义对象之前。其初始化格式为:数据类型 类名::静态数据成员名=初始值; 例:int student::num= 0;

3.静态数据成员属于类,可以使用“类名::”访问静态数据成员。

4.静态数据成员在编译时创建并初始化,可以用对象访问静态数据成员。其格式为:对象.静态数据成员  对象指针->静态数据成员

5.私有静态数据成员不能在类外访问,只能通过公有的成员函数访问。

例:计算四位同学的平均分。

#include<iostream>
using namespace std;
class student
{
public:
student(string na,float sc);
~student();
float average();
static int num;
static float sum;
private:
string name;
float score;

};
student::student(string na,float sc):name(na),score(sc)
{
num++;
sum=sum+sc;
}
student::~student(){}
float student::average()
{
return sum/num;
}
int student::num=0;
float student::sum=0;
int main()
{
student s1("sun",90),s2("li",95),s3("he",96),s4("huang",94);
cout<<"这四位同学的平均分: "<<s4.average()<<endl;
return 0;
}

点赞 (2) 回复
1F 用户头像
来自上海海洋大学-蔡昳卓发布于:2020-04-23 22:27:28
很细节
加载更多
点击图片
取消
回复
2F 用户头像
来自上海海洋大学-张雨晴发布于:2020-07-20 17:38:45
静态数据成员与普通数据成员相类似,但前面要加上static关键字
加载更多
点击图片
取消
回复
3F 用户头像
来自上海海洋大学-张雨晴发布于:2020-07-20 17:47:14
回复 1F 蔡昳卓 04-23 很细节
加载更多
点击图片
取消
回复
4F 用户头像
来自上海海洋大学-姚慧杰发布于:2020-07-20 18:15:37

学到了

加载更多
点击图片
取消
回复
5F 用户头像
来自上海海洋大学-苏羊快才让发布于:2020-07-20 18:16:00
可以
加载更多
点击图片
取消
回复
6F 用户头像
来自上海海洋大学-曾硕星发布于:2020-07-20 18:25:50
感谢分享
加载更多
点击图片
取消
回复
7F 用户头像
来自上海海洋大学-陈泓儒发布于:2020-07-20 18:37:26

讲得很好。

加载更多
点击图片
取消
回复
8F 用户头像
来自上海海洋大学-张海发布于:2020-07-20 18:43:09

学到了

加载更多
点击图片
取消
回复
9F 用户头像
来自上海海洋大学-李佳杭发布于:2020-07-20 20:38:15
感谢分享
加载更多
点击图片
取消
回复
10F 用户头像
来自上海海洋大学-生蕙语发布于:2020-07-20 20:40:45
学到了
加载更多
点击图片
取消
回复
11F 用户头像
来自上海海洋大学-刘犇发布于:2020-07-25 15:42:29

感谢分享

加载更多
点击图片
取消
回复
发布回复
点击图片