第6章 静态成员

1.静态成员
   ❶.静态数据成员与静态成员函数
   ❷.无this指针,可有返回值、指针类型、返回类型
     因为 -> 静态成员函数并不是针对某一个类的实例对象,而属于整个类的,为所有的实例化对象共享。它在作用域的范围内是全局的,独立于类的对象以外,它只对类内部的静态数据成员做操作。当实例化一个类的对象时,里面不存在静态成员。this指针相当于一个类的实例的指针,this用来操作对象化的内容,既然静态成员函数和静态数据成员都是独立于类的实例化对象之外,不能是this指针,也不能操作非静态成员

2.静态数据成员
   ❶.格式:static int a; (赋值在类外进行)
   ❷.静态数据成员是 类的所有对象共享的成员
   ❸.private的静态数据成员,仅被类内函数访问
   ❹.public的静态数据成员,在类外部可以不使用成员函数直接访问


3.静态成员函数
   ❶.格式:static 类型 函数名 {}
   ❷.类的静态成员函数 只能 访问类的静态数据成员,不能访问普通数据成员

#include <iostream>
using namespace std; 
class Sample
{
  	private:
        int x;
        static int y;
    public:
        Sample(int a)
        {
        	x=a;
            y+=x;
		}
    static void print(Sample s) //静态只能访问静态,x改为s.x 
    {
    	cout<<"x="<<x<<",y="<<y<<endl; 
	}
};
int Sample::y=5;  //类外赋值 
int main()
{
  	Sample s1(10);
	Sample s2(15);
	Sample::print(s1);
	Sample::print(s2);
}

猜你喜欢

转载自blog.csdn.net/qq_40757747/article/details/81592367