1.概述:
增加了类的访问权限的全局函数
2. static 静态类成员
2.1特点
(1)static 类成员是类中所有对象中共享的成员,而非某一个对象的成员
(2)static类成员必须要在类外初始化,并且其值是可更改的,且初始化时无须static关键字
(3)static类成员在对象中不占内存,因其在静态存储区生成,用static可节省对象的内存空间
2.2程序范例
class Testclass1
{
private:
int num;
public:
Testclass1(); /* 无参构造函数 */
void out(int a);
static int nameeeee;
static void printname()
{
std::cout << "打印静态成员:" << std::endl;
}
protected:
int name;
};
int Testclass1::nameeeee = 0;//类的static成员必须要在类外初始化,且初始化时无须在前面加static关键字
void Testclass()
{
Testclass1 line;
line.out(3);
line.printname();
cout<<line.nameeeee<<endl;
line.nameeeee = 199;
cout<<line.nameeeee<<endl;
}
3. static 类成员函数
3.1 特点
(1)属于类,不属于对象,因此类成员函数无this指针,因此不能访问非static的类成员,只能访问static修饰的类成员
3.2 范例
上述函数中printname()只能引用static静态类成员,不能访问其他成员