自学内容网 自学内容网

C++:静态成员

静态成员涉及到的关键字尾static

静态成员变量要在类外初始化 去掉static关键字+类型+类名::+变量名
静态成员变量不属于任何对象 所有对象共享一份
静态成员可以不通过对象直接访问  类名::+成员名
静态成员依旧受访问修饰符的约束
静态成员函数不允许使用非静态成员 静态成员函数没有this指针

#include<iostream>
using namespace std;


class AA
{
public:
static int a;
int b;
public:
void Show()
{
cout << a << endl;
}
void SS()
{
a = 200;
}

static void ABC();

};

int AA::a=100;//不赋值默认为0

void AA::ABC()
{
//cout << a << " " << b << endl;不能用b
cout << "aa" << endl;
}


int main()
{

AA aa;
aa.SS();
aa.Show();
cout << sizeof(aa) << endl;//静态成员变量属于类,不属于某个具体的对象,即使创建多个对象,也只为静态成员变量分配一份内存

AA bb;
bb.a = 10;
aa.Show();

cout << AA::a << endl;
//cout << AA::b << endl;//不行


AA::ABC();
aa.ABC();
return 0;
}


原文地址:https://blog.csdn.net/2301_80311224/article/details/142706545

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!