static 数据成员和函数成员

#include<iostream>
#include<string>

using namespace std;

class base
{
private:
	int a,b;
	string name;
public:
	base(string name = " "):a(10),b(10){}  // 静态成员变量不能在初始化列表中初始化
	static int c;   //声明静态数据成员
	// const static int m = 0;  报错,VC++ 不支持这种用法,但dev支持
    static int fun() //  static 只能访问static 数据成员变量,因为不会传递this指针,所以不能访问一般数据变量和非static成员函数,所以只能返回数据成员c 
	{
	  return c;
	}

	static int foo();
};

 int base::foo()  //在类外部定义static 函数时不用加static关键字
{
  return c;
}

//static int base::c = 10;  报错说只能用在member function 
int base::c = 10; //   right

int main()
{
  
  
  
  return 0;
}

总结:无。
发布了53 篇原创文章 · 获赞 5 · 访问量 5万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章