成员变量和成员函数所占的存储空间位置

非静态成员变量:占用对象空间

静态成员变量:不占对象空间

非静态成员函数:不占对象空间,所有函数共享一个实例

静态成员函数:不占对象空间

class Person {
public:
    Person() {
        mA = 0;
    }
    //非静态成员变量占对象空间
    int mA;
    //静态成员变量不占对象空间
    static int mB; 
    //函数也不占对象空间,所有函数共享一个函数实例
    void func() {
        cout << "mA:" << this->mA << endl;
    }
    //静态成员函数也不占对象空间
    static void sfunc() {
    }
};

int main() {

    cout << sizeof(Person) << endl;

    system("pause");

    return 0;
}

 

posted @ 2022-09-21 18:36  何侠客  阅读(20)  评论(0编辑  收藏  举报