1、静态成员
由来:使用全局对象实现数据共享,由于其处处可见,不够安全,故可使用静态成员实现类的多个对象之间的数据共享。
包括:静态数据成员、静态成员函数
特点:静态数据成员属于类,而不属于某个对象独有,类的所有对象共享静态数据成员
静态数据成员使用关键字static,在类体中声明,在类体外定义,以分配存储空间并初始化;
静态数据成员应用:
a.用来保存流动变化的对象个数;
b.作为一个标志,指示一个特定的动作是否发生;
c.指向链表第一个成员或最后一个成员的指针
静态成员函数访问:
a.<类名> : : <静态成员函数名>(<参数表>)
ClassA : : Fun(2,3);
b.<对象名>.<静态成员函数名>(<参数表>)
objA.Fun(2,3);
2、友元
类具有封装性,类中的数据成员只有通过该类的成员函数才可以访问。若在程序中需要访问类的私有成员,必须通过类的对象调用类的成员函数,频繁调用类的成员函数将影响程序运行效率;
为解决上述问题,C++提供友元机制,友元无需通过调用成员函数即可访问类的私有数据,提高程序运行效率。
友元函数:类中函数的声明前加上“friend”,即声明该函数为所在类的友元函数;
友元类 :类中类的声明前加上“friend”,即声明该类为所在类的友元类,友元类中的所有函数都是所在类的友元函数;
注:友元函数和友元类在提高程序运行效率、方便编程的同时破坏了类的封装性,使用时应权衡利弊;
1247

被折叠的 条评论
为什么被折叠?



