空对象所占的内存为1,是为了区分空对象所占的内存位置。非空对象所占的内存按照实际的来。非静态成员变量属于类的对象上面。非静态成员函数和静态成员函数,静态成员变量都不属于类的成员上。 空对象所占的内存为1,是为了区分空对象所占的内存位置。 code:#include<iostream>using namespace std;class City{public:};void main(){City c1;cout << "空对象所占的内存:" << sizeof(c1) << endl;system("pause");}; result: 空对象所占的内存:1 非空对象按照实际的内存来,非静态成员变量存在于类的对象上,静态成员不属于类的对象上。 code:#include<iostream>using namespace std;class City{public:int num = 2;static int s_num; // 不属于类的对象上};int City::s_num = 5;void main(){City c1;cout << "对象所占的内存:" << sizeof(c1) << endl;system("pause");}; result:所占的内存:4 非静态成员函数和静态成员函数都不属于类的成员上 code:#include<iostream>using namespace std;class City{public:int num = 2;static int s_num;void show_value(){cout << num << endl;}static void s_show_value(){cout << s_num << endl;}};int City::s_num = 5;void main(){City c1;cout << "对象所占的内存:" << sizeof(c1) << endl;system("pause");} result:所占的内存:4