成员变量和函数分开存储

成员变量和函数分开存储

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

代码示例:

#include <iostream>
using namespace std;
//成员变量和成员函数分开存储
class Person
{
       int m_A;      //非静态成员变量 属于类的对象上
       static int m_B;      //静态成员变量
       void func() {}       //非静态成员函数  不属于类的对象
       static void func2() {}     //静态成员函数 不属于类的对象上
};
int Person::m_B;
void test01()
{
       Person p;
       //空对象占用内存空间为:1
       //C++编译器会给每个空对象要分配一个字节空间,是为了区分空对象占用内存的位置
       //每个空对象也应该有一个独一无二的内存地址
       cout << "size of p=" << sizeof(p) << endl;
}
void test02()
{
       Person p;
       cout << "size of p=" << sizeof(p) << endl;
}
int main()
{
       /*test01();*/
       test02();
       return 0;
}

欢迎关注微信公众号:黑马金牌编程
在这里插入图片描述

posted @ 2022-02-13 12:50  黑马金牌编程  阅读(14)  评论(0)    收藏  举报