-
静态成员变量
#include "iostream"
using namespace std;
class Person
{
public:
static void func()//静态函数只能访问静态成员变量
{
m_A = 100;//静态函数能访问静态成员变量。
//因为m_A是静态类型。它就算没有对象也会在全局区有内存分配。所以 无实际对象,调用类方法也可对其操作。
//m_B = 20;//静态函数不能访问非静态成员变量
//m_B只能通过对象来访问,而不知道m_B对应的对象是谁,所以不可访问非静态变量
cout << "static" << endl;
};
static int m_A;
int m_B;
};
int Person::m_A = 0;
void test()
{
//调用静态成员变量函数
Person::func();//无实际对象,调用类方法。所以函数,函数变量必须是静态类型。
//如果去掉static 次函数无法访问
Person p;
p.func(); //根据对象调用方法
}
void main()
{
test();
system("pause");
}
-
初始化列表
#include "iostream"
using namespace std;
class Person
{
public:
//初始化列表
Person(int a, int b, int c):m_A(a), m_B(b), m_C(c)
{
};
int m_A;
int m_B;
int m_C;
};
void test()
{
Person p(10, 20, 30); //代表给m_A,m_B,m_C赋值为10 20 30 像是有参构造的感觉
//Person p;
cout << p.m_A << endl; //10
cout << p.m_B << endl; //20
cout << p.m_C << endl; //30
}
void main()
{
test();
system("pause");
}