#include<iostream>
using namespace std;
class Person {
public:
int m_a;
int m_b;
int m_c;
Person(int a, int b, int c) :m_a(a), m_b(b), m_c(c) {
}
};
void test() {
Person p(15, 25, 0);
cout << p.m_a << endl;
cout << p.m_b << endl;
cout << p.m_c << endl;
}
int main() {
test();
}
#include<iostream>
using namespace std;
class Person {
public:
int m_b;
static void func() {
cout << "调用静态函数" << endl;
s_a = 100;
//m_b = 0;静态成员函数只能访问静态变量,不能访问成员变量
}
private:
static int s_a;
};
int Person::s_a = 0;
void test() {
Person p;
p.func();
Person::func;
}
int main() {
test();
return 0;
}
成员变量与成员函数分开存储
#include<iostream>
using namespace std;
//成员变量和成员函数分开存储
class Person {
int m_A;//非静态成员变量 属于类的对象上
static int m_b;//静态的成员变量与成员函数 不属于类的对象上
void func(){}//非静态 不属于类的对象上
};
void test01() {
Person p;
//空对象占用空间1个字节
//c++编译器给空对象分配一个字节空间,是为了区分空对象占用的位置
//每个空对象都有一个独一无二的内存地址
cout << "size of p = " << sizeof(p) << endl;
}
int main() {
test01();
}