博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象的static关键字
阅读量:6901 次
发布时间:2019-06-27

本文共 941 字,大约阅读时间需要 3 分钟。

1.静态数据成员

include <iostream>

class Myclass
{
public:
         Myclass(int a,int b,int c);
         void GetSum();
private:
         int a,b,c;
         static int Sum;//声明静态数据成员
};
int Myclass::Sum=0;//定义并初始化静态数据成员

Myclass::Myclass(int a,int b,int c)

{
         this->a=a;
         this->b=b;
         this->c=c;
         Sum+=a+b+c;
}

void Myclass::GetSum()

{
         std::cout<<"Sum="<<Sum<<std::endl;
}
int main()

{

         Myclass M(1,2,3);
         M.GetSum();
         Myclass N(4,5,6);
         N.GetSum();
         M.GetSum();
return 0;
}

输出为:Sum=6

Sum=21
Sum=21

静态数据成员被当作是类的成员。无论这个类的对象被定义了多少个,静态数据成员在程序中也只有一份拷贝,由该类型的所有对象共享访问。也就是说,静态数据成员是该类的所有对象所共有的。对该类的多个对象来说,静态数据成员只分配一次内存,供所有对象共用。

Static成员变量的初始话是在类外,此时不能再带上static的关键字。

类的静态数据成员有两种访问形式:

<类对象名>.<静态数据成员名> 或 <类类型名>::<静态数据成员名>

静态数据成员主要用在各个对象都有相同的某项属性的时候。

2 静态成员函数

出现在类体外的函数定义,不能指定关键字static;

静态成员之间可以相互访问,包括静态成员函数访问静态数据成员和访问静态成员函数;

静态成员函数不能访问非静态成员函数和非静态数据成员;

调用静态成员函数,可以用成员访问操作符(.)和(->)为一个类的对象或指向类对象的指针调用静态成员函数,也可以直接使用如下格式:

<类名>::<静态成员函数名>

 

 

转载于:https://www.cnblogs.com/propheteia/archive/2012/06/21/2557149.html

你可能感兴趣的文章
接口测试工具-Jmeter使用笔记(五:正则表达式提取器)
查看>>
VBA-从周课表统计节次
查看>>
(二十三)控制转移指令
查看>>
编译时设置动态链接库路径
查看>>
Java基础代码库:ACM的A+B问题
查看>>
日志分析工具ELK(二)
查看>>
js中eval详解
查看>>
软件设计
查看>>
HDU 5753 Permutation Bo
查看>>
【问题集】VS新建项目——失败——弹出“未将对象引用设置到对象的实例”...
查看>>
blog.yiz96.com
查看>>
centos 创建桌面双击启动程序(更改图标)
查看>>
jq 的grep(); 数组筛选方法
查看>>
[BZOJ] 1059: [ZJOI2007]矩阵游戏
查看>>
HTTP状态码
查看>>
DataGridView key points
查看>>
STL中map与hash_map容器的选择
查看>>
PagedGeometry 笔记02
查看>>
游戏launch界面
查看>>
web前端免费资源集
查看>>