静态成员与友元函数

1、静态成员

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

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

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

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

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

2、友元

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

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

     注:友元函数和友元类在提高程序运行效率、方便编程的同时破坏了类的封装性,使用时应权衡利弊;
     
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值