#include <iostream>
using namespace std;
class Apple
{
private:
static int apples; //只是声明静态成员,并没有定义,也没有初始化。不占内存。
int apple;
public:
Apple(){};
~Apple(){};
void setApples(int a) //非静态成员函数是可以访问静态成员变量的
{
apples=a;
}
/*
void static setApple(int b) //此处错误。静态成员函数不能访问非静态变量
{
apple=b;
}
*/
int static getApple()
{
return apples;
}
};
int Apple::apples; //这里才是定义,同时可以在这里初始化 如:int Apple::apples=12;
int main()
{
Apple ma;
cout<<"sizeof"<<sizeof(ma)<<endl; //输出4
ma.setApples(17); //如果没有int Apple::apples; 此处出错,找不到Apple::apples
int num=ma.getApple();
cout<<"apples="<<num<<endl; //输出17
return 0;
}
C++静态成员变量的声明与定义及初始化
最新推荐文章于 2024-01-03 09:45:00 发布