静态数据成员

时间:2023-04-27
本文章向大家介绍静态数据成员,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

用关键字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