C++成员变量和成员函数分开存储

C++中,类内的成员变量和成员函数分开存储,只有非静态成员变量才属于类的对象上

#include<iostream>
using namespace std;

class WLM
{
    int m_a;                //非静态成员变量 属于类的对象上

    static int m_b;            //静态成员变量 不属于类的对象上

    void func();            //非静态成员函数 不属于类的对象上

    static void func2();    //静态成员函数 不属于类的对象上
};
int WLM::m_b = 0;

void test1()
{
    WLM wlm;
    //空对象占用空间为1
    //C++编译器会给每个空对象也分配一个字节空间,为了区分空对象占内存的位置
    //每个空对象也应该有一个独一无二的内存地址
    cout << "sizeof(wlm) = " << sizeof(wlm) << endl;
}

void test2()
{
    WLM wlm;
    cout << "sizeof(wlm) = " << sizeof(wlm) << endl;
}

int _tmain(int argc, _TCHAR* argv[])
{
    //test1();
    test2();

    system("pause");
    return 0;
}
posted @ 2022-07-29 10:55  萌萌的保镖  阅读(34)  评论(0)    收藏  举报