您的位置:首页 > 其它

静态成员与友元函数

2016-01-22 21:50 190 查看
1、静态成员

由来:使用全局对象实现数据共享,由于其处处可见,不够安全,故可使用静态成员实现类的多个对象之间的数据共享。

包括:静态数据成员、静态成员函数

特点:静态数据成员属于类,而不属于某个对象独有,类的所有对象共享静态数据成员
静态数据成员使用关键字static,在类体中声明,在类体外定义,以分配存储空间并初始化;

静态数据成员应用:
a.用来保存流动变化的对象个数;
b.作为一个标志,指示一个特定的动作是否发生;
c.指向链表第一个成员或最后一个成员的指针

静态成员函数访问:
a.<类名> : : <静态成员函数名>(<参数表>)
ClassA : : Fun(2,3);
b.<对象名>.<静态成员函数名>(<参数表>)
objA.Fun(2,3);

2、友元

类具有封装性,类中的数据成员只有通过该类的成员函数才可以访问。若在程序中需要访问类的私有成员,必须通过类的对象调用类的成员函数,频繁调用类的成员函数将影响程序运行效率;
为解决上述问题,C++提供友元机制,友元无需通过调用成员函数即可访问类的私有数据,提高程序运行效率。

友元函数:类中函数的声明前加上“friend”,即声明该函数为所在类的友元函数;
友元类 :类中类的声明前加上“friend”,即声明该类为所在类的友元类,友元类中的所有函数都是所在类的友元函数;

注:友元函数和友元类在提高程序运行效率、方便编程的同时破坏了类的封装性,使用时应权衡利弊;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: