静态数据成员
用关键字static声名
为该类所有对象共享
必须在类外定义和初始化
原理
1.同一类的不同对象,其成员数据之间是互相独立的。
2.当我们将类的某一个数据成员的声名为static,则油该类所生产的所有对象,其静态成员共享一个存储空间
static规定
1.static成员必须在类外定义并初始化
2.static数据成员和函数成员可以通过对象名引用也可以通过类名引用
3.static成员函数只能访问static数据成员,不能访问非static成员
4.普通成员函数可以访问static数据成员
静态数据成员
类外代码可以使用类名和作用域操作符来调用静态函数成员
静态函数成员只能引用属于该类的静态函数据成员或静态成员函数
类的友元
友元是C++提供的一种破坏数据封装和数据隐藏的机制
通过将一个模块声名为另一个模块的友元,一个模块能够引用到另一个模块中本是被隐藏的信息
可以使用友元函数和友元类
对象不能访问类的私有数据成员,但是友元类可以
友元
类的数据成员都设为私有的——良好的程序设计风格
如果外部函数需要直接访问类的数据成员:数据共有;友元。
友元函数
友元函数是在类声明中由friend修饰说明的非成员函数,在它的函数体中能够通过对象访问非成员函数,在它的函数体中能够通过对象名访问private和protected成员
作用:增加灵活性,使程序员可以在封装和隐藏性方面做合理选择
友元函数不是类的成员函数
但是可以访问类的私有数据成员
友元函数
类中私有和保护的成员在类外不能被访问。
友元函数是一种定义在类外部的普通函数,其特点是能够访问类中私有成员和保护成员,即类的访问权限的权限的限制对其不起作用。
友元函数不是成员函数,用法也与普通的函数不一致,只不过它能访问类中所有的数据。
友元函数的特点
友元函数近似于普通的函数,他不带有this指针,因此必须将对象名或对象的引用作为友元函数的参数,这样才能访问到对象的成员。
友元函数与一般函数的区别:
1.友元函数必须在类中声名,其函数体可在类内定义,也可在类外定义;
2.它可以访问该类中的所有成员(公有的、私有的和保护的),而一般函数只能访问类中的公有成员。
3.友元函数不是类的成员函数
原文地址:https://www.cnblogs.com/7777lcc/p/17360475.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法