代码示例:
#include<iostream>
#include<string>
using namespace std;
class person {
int m_A;//非静态成员 属于类对象上
};
void test01()
{
person p;
cout << "sizeof:" << sizeof(p);
}
int main()
{
test01();
}
结论:非静态成员变量,属于类的对象上
#include<iostream>
#include<string>
using namespace std;
class person {
//空类型
};
void test01()
{
person p;
cout << "sizeof:" << sizeof(p);
}
int main()
{
test01();
}
结论:空对象占用内存空间:1
#include<iostream>
#include<string>
using namespace std;
class person {
static int m_B;//静态成员变量 不属于类对象上
};
void test01()
{
person p;
cout << "sizeof:" << sizeof(p);
}
//必须类内声明,类外初始化操作,否则报错
int person::m_B = 100;
int main()
{
test01();
}
结论:静态成员变量 不属于类对象上
#include<iostream>
#include<string>
using namespace std;
class person {
void func(){}//非静态成员函数 不属于类对象上
};
void test01()
{
person p;
cout << "sizeof:" << sizeof(p);
}
int main()
{
test01();
}
结论:非静态成员函数 不属于类对象上
#include<iostream>
#include<string>
using namespace std;
class person {
static void func(){}//静态成员函数,不属于类上
};
void test01()
{
person p;
cout << "sizeof:" << sizeof(p);
}
int main()
{
test01();
}
结论:静态成员函数,不属于类上