C++类中静态成员简单使用

来源:互联网 发布:深入浅出数据分析 pdf 编辑:程序博客网 时间:2024/06/08 02:20

在C++类中,静态成员是声明语句前带有关键字static的类成员。


使用优点:

作用域位于类的范围之内,避免了与其他类的成员或者全局作用域的名字冲突;

可以是私有成员,而全局对象则不行;

使容易看出静态成员与特定类关联,含义清晰明了;

可以作为默认实参,而普通数据成员则不行。

简单使用如下:


class NBAstar{public:static double salary(){return salarybase;}//获取联盟平均薪酬static void salary(double);//更新联盟平均薪酬private:vector<std::string> star;//static int sum=25;//不是静态常量成员不能初始化static double salarybase;//超级巨星平均基本年薪,平均此数是共享的,不属于任何一个明星static double initsalary();//尽管private,初始化仍可在函数外调用static const int size=20;//设联盟只能前20名球员作为超巨};//在类外定义静态成员double NBAstar::initsalary(){salarybase=1000.5;}void NBAstar::salary(double n){salarybase=n;}



#include <iostream>#include<vector>using namespace std;#include"NBA_star.h"double NBAstar::salarybase=initsalary();int main() {double wage;//wage=NBAstar::salary();//法1访问静态成员NBAstar kobe;//wage=kobe.salary();//法2访问静态成员NBAstar *lbj=&kobe;wage=lbj->salary();//法3访问静态成员cout<<"10年前NBA超级巨星年薪(万美元):"<<wage<<endl;NBAstar::salary(2000.8);wage=NBAstar::salary();cout<<"现如今NBA超级巨星年薪(万美元):"<<wage<<endl;return 0;}


1 0
原创粉丝点击