博客
关于我
C++ 极简总结——类(二)
阅读量:253 次
发布时间:2019-03-01

本文共 1479 字,大约阅读时间需要 4 分钟。

类的静态成员<>

将要共享的数据说明为类的静态成员。静态成员是指声名为static的类的成员,包括静态数据成员和静态成员函数,在类的范围内所有对象共享该数据

静态数据成员

静态数据成员不属于任何对象,它不因对象的建立而产生,也不因对象的析构而删除,是类的一部分。

特点:

  1. 必须对静态数据成员进行初始化,系统分配具体的存储空间。
  2. 初始化不可以在构造函数中进行。
  3. 初始化格式:
    <数据类型><类名>::<变量名> = <初值>
#include 
using namespace std;class Point{ public: static int point_count; Point(int x = 0, int y = 0); ~Point();private: int _x; int _y;};Point::Point(int x , int y ){ _x = x; _y = y; point_count++; cout<<"Constructor"; cout<<"Point_Num = "<
<

静态成员函数

静态成员函数的定义和其他成员函数一样,静态成员函数与静态数据成员类似,属于类本身。在函数定义前加static 关键字。

静态成员函数的主要作用是用来访问同类中的静态成员,维护对象之间共享的数据。

#include 
using namespace std;class Point{ public: Point(int x = 0, int y = 0); ~Point(); static void show_count();private: int _x; int _y; static int point_count;};void Point::show_count(){ cout<<"Point Num = "<
<

类的友元

有时候需要普通函数直接访问一个类的保护或者私有数据成员。友元是C++提供给外部的类或者函数访问类的私有成员和保护成员的另一种途径。友元可以是一个函数,称为友元函数,也可以是一个类,称为友元类

友元函数

在类里声名一个普通函数,加上关键字friend,就成了该类的友元函数,它可以访问该类的一切成员。

函数原型:
friend <类型><函数名>(参数)

#include 
#include
using namespace std;class Point{ public: Point(int x = 0, int y = 0); ~Point(); friend double pointDistance(const Point a,const Point b); static void show_count();private: int _x; int _y; static int point_count;};void Point::show_count(){ cout<<"Point Num = "<
<

友元类

一个类也可以被声明为类一个类的友元,该类称为友元类。

假设有类A,类B,在类B的定义中将类A声名为友元,那么类A被称为类B的友元类,它所有的成员函数都可以访问类B中的任意成员。

友元的主要作用是为了提高效率和方便编程,但是友元在一定程度破坏了类的整体性,也破坏了封装性。

转载地址:http://jnrx.baihongyu.com/

你可能感兴趣的文章
Nginx 反向代理配置去除前缀
查看>>
nginx 后端获取真实ip
查看>>
Nginx 多端口配置和访问异常问题的排查与优化
查看>>
Nginx 如何代理转发传递真实 ip 地址?
查看>>
Nginx 学习总结(16)—— 动静分离、压缩、缓存、黑白名单、性能等内容温习
查看>>
Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
查看>>
Nginx 学习(一):Nginx 下载和启动
查看>>
nginx 常用指令配置总结
查看>>
Nginx 常用配置清单
查看>>
nginx 常用配置记录
查看>>
nginx 开启ssl模块 [emerg] the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx
查看>>
Nginx 我们必须知道的那些事
查看>>
Nginx 源码完全注释(11)ngx_spinlock
查看>>
Nginx 的 proxy_pass 使用简介
查看>>
Nginx 的 SSL 模块安装
查看>>
Nginx 的优化思路,并解析网站防盗链
查看>>
Nginx 的配置文件中的 keepalive 介绍
查看>>
Nginx 相关介绍(Nginx是什么?能干嘛?)
查看>>
Nginx 知识点一网打尽:动静分离、压缩、缓存、跨域、高可用、性能优化...
查看>>
nginx 禁止以ip形式访问服务器
查看>>