《(32)--3.6.1静态数据成员面向对象程序设计.ppt》由会员分享,可在线阅读,更多相关《(32)--3.6.1静态数据成员面向对象程序设计.ppt(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、静静态成成员 目的:目的:实现同类的多个对象之间的数据共享 优点:优点:使用安全性优于全局变量 分类:分类:静态数据成员和静态成员函数静静态数据成数据成员 何时使用:何时使用:需要在同类的多个对象之间实现数据共享 特点:特点:为同类的各对象所共有,而不只属于某个对象的成员在内存中只占一份空间,提高了存储效率即使不定义对象,也为静态数据成员分配空间静静态数据成数据成员 如何定义:如何定义:关键字static修饰初始化只能在类体外进行class Box public:int volume();private:static int height;/把把height定定义为静静态的数据成的数据成员in
2、t width;int length;int Box:height=10;/静静态数据成数据成员的初始化的初始化静静态数据成数据成员 如何引用公有的静态数据成员:如何引用公有的静态数据成员:通过对象名:a.height通过类名:Box:height 私有的静态数据成员只能在类内通过成员函数引用私有的静态数据成员只能在类内通过成员函数引用但可以在类外初始化例如:无论height是public还是private,下列初始化语句合法:int Box:height=10;程序程序实例例引用静引用静态数据成数据成员#include using namespace std;class Boxpublic:
3、Box(int,int);int volume();static int height;/把把height定定义为公用的静公用的静态的数据成的数据成员int width;int length;Box:Box(int w,int len)/通通过构造函数构造函数对width和和length赋初初值width=w;length=len;程序程序实例例引用静引用静态数据成数据成员int Box:volume()return(height*width*length);int Box:height=10;/对静静态数据成数据成员height初始化初始化int main()Box a(15,20),b(20,30);couta.heightendl;/通通过对象名象名a引用静引用静态数据成数据成员,输出出10coutb.heightendl;/通通过对象名象名b引用静引用静态数据成数据成员,输出出10coutBox:heightendl;/通通过类名引用静名引用静态数据成数据成员,输出出10couta.volume()endl;/调用用volume函数函数小小结静态成员的含义及分类1静态数据成员2