(111.2静态成员函数】 如果声明类时,在其中的某个成员函数的类型前加上关键字 static,则这个 成员函数就是静态成员函数。定义静态函数成员也是解决在同一个类的所 有对象之间共享数据的方法之一。 注在类外定义静态成员函数,函数头前不能加关键字sto 在静态成员函数的函数体中,可以直接访问所属类的静态成员,不能直接访 问非静态成员。要访问非静态成员,须借助于对象名或指向对象的指针。 例112静态成员函数的使用 fincludesiostream.h> class a public A(int xl, int x2)
如果声明类时,在其中的某个成员函数的类型前加上关键字static,则这个 成员函数就是静态成员函数。定义静态函数成员也是解决在同一个类的所 有对象之间共享数据的方法之一。 在静态成员函数的函数体中,可以直接访问所属类的静态成员,不能直接访 问非静态成员。要访问非静态成员,须借助于对象名或指向对象的指针。 注 在类外定义静态成员函数,函数头前不能加关键字static。 例 11-2 静态成员函数的使用 #include<iostream.h> class A { public: A(int x1,int x2) { x=x1; 【11.1.2 静态成员函数】
例112静态成员函数的使用 y=y+x2: AOt static void fun10; static void fun(A a); private: int x. static int y; void A: fun1o cout<<"Y="<<y<<endl;∥直接访问静态数据成员 void A: fun(Aa) cout<"X="<x八t<"Y="<y<<endl;∥对非静态成员, 通过对象名访问
y=y+x2; } ~A(){} static void fun1(); static void fun2(A a); private: int x; static int y; }; void A::fun1() { cout<< ″Y= ″<<y<<endl; //直接访问静态数据成员 } void A::fun2(A a) { cout<< ″X= ″<<a.x<< ′\t ′<< ″Y= ″<<y<<endl; //对非静态成员, 通过对象名访问 例 11-2 静态成员函数的使用