欢迎来到天天文库
浏览记录
ID:39802021
大小:21.50 KB
页数:6页
时间:2019-07-11
《C++类的静态数据(函数)成员(个人收藏)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、C++类的静态数据成员-关键字static定义:用static关键字声明的数据成员称为静态数据成员。每个类只有一个存储单元,静态数据成员为该类的所有对象共有,不属于某个对象。静态数据成员的初始化必须在类以外进行定义性说明。形式为:<类型><类名>::<静态数据成员>=值静态成员注意以下几点:1、静态成员必须初始化,如果其是有公共访问属性的可以通过对象重新设置值,其最终值以最后一次设置的为准。2、初始化方式只能是在类以外进行定义性说明3、访问方式可以是对象.静态成员或ClassName::静态数据成员通
2、过下面的例子来理解定义:classA{private:intw,h;intm;public:staticintarea;//静态数据成员的定义形式intarea1;voidsetVal(intx){area=x;}intgetArea(){returnarea;}A(intx,inty){w=x,h=y;}A(){}};intA::area=0;//必须在类外声明性初始化,其他任何初始化都是错误的。voidmain(){Aconsta(3,4);Ac(2,6);Af;c.area1=4;c.setVa
3、l(4);c.area=8;//初始化后可以改变其值,不初始化程序编译都通不过f.area=16;cout<4、的静态函数成员可以通过类名或对象名来调用。静态函数成员必须通过对象名来访问非静态数据成员。静态成员呢?注意:1、静态成员函数在类外实现时候无须加static关键字,否则是错误的。通过下面题目来理解静态成员函数A:静态函数成员必须通过对象名来访问非静态数据成员。找出下面程序的错误。classA{public:staticintgetVal(){returnx;//错误不能调用非静态数据成员,要通过类的对象来调用。}A(intxx){}private:intx;};voidmain(){Aa(3);cou5、t<6、员classA{public:staticintgetVal(Aa);A(intxx){x=xx;}private:staticintstaticVar;intx;};intA::staticVar=100;intA::getVal(Aa){//returna.staticVar;正确的调用方法一//returnA::staticVar;正确的调用方法二returnstaticVar;//正确的调用方法三}voidmain(){Aa(3);cout<7、");}
4、的静态函数成员可以通过类名或对象名来调用。静态函数成员必须通过对象名来访问非静态数据成员。静态成员呢?注意:1、静态成员函数在类外实现时候无须加static关键字,否则是错误的。通过下面题目来理解静态成员函数A:静态函数成员必须通过对象名来访问非静态数据成员。找出下面程序的错误。classA{public:staticintgetVal(){returnx;//错误不能调用非静态数据成员,要通过类的对象来调用。}A(intxx){}private:intx;};voidmain(){Aa(3);cou
5、t<6、员classA{public:staticintgetVal(Aa);A(intxx){x=xx;}private:staticintstaticVar;intx;};intA::staticVar=100;intA::getVal(Aa){//returna.staticVar;正确的调用方法一//returnA::staticVar;正确的调用方法二returnstaticVar;//正确的调用方法三}voidmain(){Aa(3);cout<7、");}
6、员classA{public:staticintgetVal(Aa);A(intxx){x=xx;}private:staticintstaticVar;intx;};intA::staticVar=100;intA::getVal(Aa){//returna.staticVar;正确的调用方法一//returnA::staticVar;正确的调用方法二returnstaticVar;//正确的调用方法三}voidmain(){Aa(3);cout<7、");}
7、");}
此文档下载收益归作者所有