第13章静态成员与友元
§ 静态数据的特点:
Ø仅初始化一次。
Ø生命期长。
§ 当我们想
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
一个数据,让所有同一类的
对象所共享,我们的解决
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
为:
Ø使用全局变量。
由于全局变量在所有可见的范围内都可以用,
所以破坏了类的封装性!
Ø使用静态成员。
静态成员根据其性质分为静态数据成员和静态
成员函数。
——在C++中建议使用
——不建议使用
§ 回顾堆对象的知识:数组对象的生成顺序:按下标从小到大的顺序
构造。
§ 例: int n;
class C1{ int m;
public: C1() {m=n++;
cout<<“construct ”<
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
类C1的对象生成的个
数。
但破坏了类的封装
性。
如果不想改变类的封
装,此时,可以在类
中使用静态数据成员
机制。
13.1 静态数据成员
§ 静态成员的定义和使用:
class A {
int n;
static int num;
};
int A::num = 0;
静态成员初始化!
要在类外定义,而且
要用类名做引导。
§ 对于前例,我们运行进行一下检测:
class A { int n;static int num; };
class B { int n; int num; };
int A::num = 0;
void main()
{
A a; B b;
cout<
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
下面程序的输出结果: (多文件程序)
§ File1.h
class C1{ int m; static int n;
public: C1() ; void get() ; ~C1(); };
§ File1.cpp
#include
#include "File1.h"
int C1::n=0;
C1::C1() { m=n++; cout<<"construct "<
#include "File1.h"
void main() { C1* pc = new C1[5];
for(int i=0; i<5; i++ ) pc[i].get();
delete [ ] pc; }
13.1 静态数据成员
§ 静态数据成员的使用—分析下面程序的结果:
#include
class C1 { public: static int n;
C1() { } ~C1(){ } };
int C1::n = 0;
void main() {
C1 c1, c2;
cout<< c1.n++ <
class C1 { static int n;
public: C1() { } ~C1(){ }
static int fun(){ n++; return n; } };
int C1::n = 0;
void main() {
C1 c1, c2;
cout<< c1.fun() <
class C1 { int n;
public: C1() { n=0; } ~C1(){ }
static int fun(){ n++; return n; } };
void main() {
C1 c1, c2;
cout<< c1.fun() <
class C1 { int n;
public: C1() { n=0; } ~C1(){ }
static int fun(){ n++; return n; } };
void main() {
C1 c1, c2;
cout<< c1.fun() <
本文档为【第13章 静态成员与友元_12-25】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。