下载此文档

静态成员和友元.ppt


文档分类:IT计算机 | 页数:约39页 举报非法文档有奖
1/39
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/39 下载此文档
文档列表 文档介绍
本章简介
类的静态成员和与友元
1 类的静态数据(掌握)
2 类的静态函数(掌握)
3 类的友元(掌握)
4小结
1
局部变量
数据存储在局部对象中,通过参数传递实现共享——函数间的参数传递。
(1)在函数内部定义的变量;
(2)auto可省,在栈中分配;
(3)只在本函数中使用;
(4)不初始化,则为任意值;
局部变量的共享
2
全局变量
(1)在所有函数的外部定义;
(2)在程序的每个函数中是可见的;
(3)存放在全局数据区;
(4)不初始化,则初始值为0;
全局变量的共享
3
使用全局对象
#include<iostream>
using namespace std;
int global;
void f()
{ global=5;}
void g()
{ cout<<global<<endl;}
void main()
{ f();
g(); //输出“5”
}
4
将函数与数据封装的例子
#include<iostream>
using namespace std;
class Application
{ public:
void f(); void g();
private:
int global;
};
void Application::f()
{ global=5;}
void Application::g()
{ cout<<global<<endl;}
void main()
{
Application MyApp;
();
();
}
类的数据成员
5
数据成员
将数据和使用的函数封装在类中
一方面实现了类内函数的共享;
同时控制在类外共享访问的范围和权限;
类的数据成员
6
类的静态成员
class Student
{ private:
intStuNo;
int count;
char *name;

}
如:需要统计学生总数,数据存放在什么地方?
7
静态数据成员
引入原因
有些特殊的数据成员为某个类的所有对象所共享,也就是它不是属于具体的对象,而是属于整个类。
静态数据成员
用关键字static声明
该类的所有对象维护该成员的同一个拷贝;
必须在类外初始化,用(::)来指明所属的类。
类的静态成员
8
静态成员初始化的方法:
<数据类型><类名>::<数据成员名>=初值;
注意:
静态数据成员不是属于某个对象的,因此,在给对象分配内存空间时不包含静态数据成员所占的空间。它是系统为它开辟的一个单独空间。
静态数据成员一定要在类外对它进行初始化,它只有在程序结束时才被释放。
9
具有静态数据成员的 Point类
#include <iostream>
using namespace std;
class Point
{public:
Point(int xx=0, int yy=0) {X=xx; Y=yy; countP++; }
Point(Point &p);
int GetX() {return X;}
int GetY() {return Y;}
void GetC() {cout<<" Object id="<<countP<<endl;}
private:
int X,Y;
static int countP;
};
类的静态成员
10

静态成员和友元 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数39
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xunlai783
  • 文件大小179 KB
  • 时间2018-01-04