在c++中,类内的成员变量和成员函数分开存储
只有非静态成员变量才属于类的对象上
示例:
#include <iostream>
using namespace std;
//成员变量和成员函数分开存储
class Preson {
int m_A; //非静态成员变量,此时计算Preson p的大小,结果为4,说明m_A属于类的对象上的数据
static int m_B;//静态成员变量, 此时计算Preson p的大小,结果还是4,说明它不属于类的对象上的数据
void func() {}//非静态成员函数,同上,也不属于类的对象上的数据
static void func2() {} //同上
};
int Preson::m_B = 0;
void test01()
{
Preson p;
//空对象占用内存空间为:1
//C++编译器会给每个空对象也分配一个字节空间,是为了区分空对象占内存的位置
//每一个空对象也应该有一个独一无二的内存地址
cout << "sozeof p = " << sizeof(p) << endl;
}
void test02()
{
Preson p;
cout << "sozeof p = " << sizeof(p) << endl;
}
int main()
{
//test01();
test02();
system("pause");
return 0;
}