static方法

1 : static成员函数和普通成员函数的本质区别
无this指针(实质上为对象的首地址,且成员都默认带有this指针)

2: 用途:
1)对方法进行分类,调用时以类似于命名空间的形式调用

class opt{
public:
	static void Add();
	static void Delete();
};
void main(){
	opt::Add();
	opt::Delete();
}

2)配合静态成员批量管理对象

class MyClass{
public:
	MyClass(int x):a(x){
		all.push_back(x);
	}
	void show(){
		cout<<a<<endl;
	}
	static  void show_all{
		for(auto &list:all)
		cout<<*list.a<<endl;
	}
private:
	int a;
};
vector<MyClass *> MyClass::all;
void
void main(){
	MyClass::show_all();
}

3:限制:
静态方法中不可使用成员函数和成员变量
申明时有static关键字即可,定义时不需要
4:优势:
可通过对象和::两种方式进行访问

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章