4.3.1成员变量和成员函数分开存储

在c++中,类内成员变量和成员函数分开存储
只有非静态成员变量才属于类对象上
代码演示:
#include
using namespace std;
class Person
{

};
void test1()
{
Person p;//单独的一个空对象占用一个内存空间
//c++编译器会给每一个空对象非配一个字节空间,是为了区分空对象站内存的位置。
//每一一个空对象也因该有一个独一无二的内存地址。
cout<}
class preson
{
int a;//非静态成员变量 属于类的对象上
static int b;//静态成员变量 不属于类的对象上
void func() { }//静态成员函数 不属于类的对象上
static void func2(){}//静态成员函数 不属于类的对象上
};
void test2()
{
preson p;
cout<}
int main()
{
test1();
test2();
return 0;
}

封装的概念:把成员变量和成员函数作为一个整体封装起来。
封装的概念:把他们作为一个整体用来表示生活中的事物。

include
using namespace std;
//成员变量 和 成员函数 是分开来存储的。
class Preson
{

};
void show()
{
Preson p;
//空对象占用的内存空间大小为1;
//c++编译器会为每一个空对象分配一个字节大小的空间,用来区分不同空对象 所占内存的位置。
// 每个空对象都会有一个独一无二的内存地址。
cout<<” size of p+”<}
class Preson1
{
int a;//非静态成员变量。进而证明了非静态成员变量属于类的对象上面的。
// static int m_b;//静态成员变量 //不属于类的对象上。
void show(); //非静态成员函数 不属于类的对象上面。
static void show1(); //静态成员函数 不属于类的对象上面。
};
//int Preson::m_b=0; //静态成员变量的特定类内声明类外初始化。

void show1()
{
Preson1 p;
//空对象占用的内存空间大小为1;
//c++编译器会为每一个空对象分配一个字节大小的空间,用来区分不同空对象 所占内存的位置。
// 每个空对象都会有一个独一无二的内存地址。
cout<<” size of p+”<}
int main()
{

}

网址:https://www.bilibili.com/video/BV1et411b73Z?p=114