C++ 类的static 静态类成员、静态类成员函数

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静态类成员,不能访问其他成员

猜你喜欢

转载自blog.csdn.net/shuwenting/article/details/81201811