欢迎来到天天文库
浏览记录
ID:24096887
大小:53.50 KB
页数:4页
时间:2018-11-12
《基于静态成员在c++中的应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于静态成员在C++中的应用C++类中的静态成员是类中各个对象所共享的成员,从数据共享的角度出发,先容静态成员在类中实现数据共享的方法、功能。 C++中类的成员分为静态数据成员和静态成员函数。它的功能类似于全局变量,可以实现C++多个对象之间的数据共享,但全局变量在程序中的可操纵性难于控制,经常会带来不平安性,所以,考虑到程序的平安性,在本文讲述了静态成员在C++程序中的使用方法及功能。 一、静态数据成员的应用 C++中的静态数据成员是同一个类中所有对象所共享的成员,静态数据成员中存放的是所有对象的值,不是某
2、一个对象的值,所以同一类中的每个对象的值都是一样,但它的值也是可以改变的。通过下面的实例可以对以上的内容加以证实、说明静态数据成员在C++类中的使用方法及功能。 (一)静态数据成员的定义、初始化 静态数据成员定义是以static关键字开始,后跟静态数据成员类型符、变量名;例:staticints; (二)静态数据成员的初始化 静态数据成员的初始化是在类体外进行,初始化时不用加访问权限符,但是静态成数据成员是类的成员,所以在初始化时应指明该成员的类名;例如在类名为Tstu的类中定义了一名为s整型静态数据成员,则初始化格式
3、为:intTstu::s=0; (三)静态数据成员的引用实例 #include classTstu//类的说明; {public://定义二个成员函数; Tstu(inta,intb);//定义构造函数,用来对数据成员赋初值; bb(); private: intx,y;//定义二个数据成员; staticints;};//定义一个静态的数据成员,类Tstu定义结束; intTstu::s=0;//静态数据成员的赋值; Tstu::Tstu(inta,intb)//构造函数的实现部分; {x=a;y=b
4、;} voidTstu::bb()//成员函数的实现部分; {s=s+x+y;cout%26lt;%26lt;”s=”%26lt; classTa{ public: Ta(){n++;}//定义构造函数,当定义对象时n的值自动加1; ~Ta(){n--;}//定义析构函数,开释对象时n的值自动减1; intsum(){returnn;}//成员函数sum()用来返回静态数据成员n的值; private: staticintn;}; intTa::n=0; 当创建该类对象实体时,由于n为所有对象所共享的数据
5、,从而可以统计当前创建的所有对象的数目。这一技巧可以运用到很多方面,如对象实体的互斥关系,引用计数等相关方面。C++类中的静态成员有一个非常好的功能,那就是无论类定义了多少个对象,这些对象始终都共同使用这一个静态成员,在使用时需要注重的是类静态数据成员除了在类中形式说明之外,必须在使用前在对象说明之外作定义性说明,主要是为了给类中静态数据成员分配内存。通过这个实例可更加清楚的解述静态数据成员在类中实现数据的方法、功能。 二、静态成员函数的应用 静态成员函数和静态成员的特性相似,属于类的成员,不是对象的成员。在静态成
6、员函数的实现中,可以直接引中类中说明的静态成员。下面通过具体的实例说明静态成员函数的应用。 我们可以通过以下的代码来看看静态成员函数的应用: #include classT {public: T(inta){x=a;y=y+a;} Staticvoidf1(Tt);//定义静态成员函数; Private: intx; staticinty;}; voidT::f1(Tt) {cout%26lt;%26lt;”x=”%26lt;7、Y<8、述讲解C++中静态成员在实现数据共享中的应用,功能。文中如有不足之处,看各位读者批评指正。
7、Y<8、述讲解C++中静态成员在实现数据共享中的应用,功能。文中如有不足之处,看各位读者批评指正。
8、述讲解C++中静态成员在实现数据共享中的应用,功能。文中如有不足之处,看各位读者批评指正。
此文档下载收益归作者所有