静态变量再类中定义,但他却不是再类中的。静态成员变量和静态成员函数和普通函数都是不再类中的,那我们定义的类是指向同一个函数。我简单的举个例子
class Name
{ public:
int a;
public :
void print(){}
}
如果定义三个类变量 Name b1,b2,b3。这三个变量中只包含各自的a的变量。print()的函数是公用的。那他是怎么区分是哪个变量使用这个函数的呢。是靠this指针。我们今天先讲static一般应用。后面在具体讲解。
一般应用代码如下:
#include <iostream>
using namespace std;
class BB
{
public:
void printC()
{
cout << "c:: " << c << endl;
}
int AddC()
{
c = c + 1;
}
static int getC()//静态成员函数 只能使用静态成员变量
{
//请问在静态成员函数中,能调用普通的成员属性或者成员函数么,他无法指明他是哪个对象的成员函数。
/*cout << "a: " << a << endl;*/
return c;
}
protected:
private:
int a;
int b;
static int c; //静态成员变量
};
int BB::c = 10;
int main()
{
BB b1, b2;
//第一种调用静态成员函数的方法
b1.getC();
//第二种调用静态成员函数的方法
cout << BB::getC() << endl;;
system("pause");
return 0;
}