完全是可以的。静态数据成员属于整个类,是被每个对象共享的,可以被某个对象调用。用类名和类的对象都可以访问。用类名访问时只需数据成员是public的就行。
可以,只要它是public的,如:class A{ public: static int x;};int A::x=3;//静态数据成员必须在类外初始化.void main(void){ A a; cout << a.x << endl;}