iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >静态成员,友元函数,友元类
  • 708
分享到

静态成员,友元函数,友元类

jvmc++java 2023-09-05 19:09:45 708人浏览 泡泡鱼
摘要

🐶博主主页:@ᰔᩚ. 一怀明月ꦿ  ❤️‍🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C++ 🔥座右铭:“不要等到什么都没有了,才下定决心去做” 

🐶博主主页:@ᰔᩚ. 一怀明月ꦿ 

❤️‍🔥专栏系列:线性代数C初学者入门训练题解CC的使用文章「初学」C++

🔥座右铭:“不要等到什么都没有了,才下定决心去做”

🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀

目录

🐰静态数据成员

🌸静态数据成员的声明:

🌸静态数据成员的初始化:

🌸静态数据成员的访问:

🐰静态成员函数

🌸静态成员函数的声明

🌸静态数据成员函数的访问

🐰友元函数

友元函数的声明

🐰 友元类


🐰静态数据成员

静态数据成员在内存中只占一份空间(而不是每个对象都分别为它保留一份空间) ,它是属于类的,但它被类的所有对象所共享,每个对象都可以访问这个静态数据成员。 若改变它的值,则在各对象中这个数据成员的值同时改变了, 静态数据成员系统单独为它开辟一段空间,不属于任何对象,程序结束空间才会被释放。

🌸静态数据成员的声明:

static 数据类型 变量名;

🌸静态数据成员的初始化:

静态数据成员的初始化, 静态数据成员的初始化一定在类外。
数据类型 类名::变量名=初值;
注意:不要在类的静态数据成员声明时进行初始化,一定要在类外初始化!!!,如果没有初始化静态数据成员,系统自动给它赋值为0.

🌸静态数据成员的访问:

(1)通过对象名进行访问
对象名.静态数据成员的变量名
(2)通过类名进行访问
类名::静态数据成员的变量名
注意:类的复合复制构造函数(默认的复制构造函数)并不能处理静态数据成员。需要自己提供的复制构造函数去处理静态数据成员

🐰静态成员函数

🌸静态成员函数的声明

静态成员函数的声明: 就是在普通的成员函数前面加一个static
static 返回类型 函数名(参数列表);

🌸静态数据成员函数的访问

类名::函数名()对象.函数名()
注意: (1)静态成员函数与非静态的成员函数的根本区别: 非静态函数有this指针,而静态成员函数没有this指针,因而静态成员函数不能默认访问本类的非静态数据成员。 当调用一个对象的非静态的成员函数时,系统会把该对象的起始地址赋给成员函数的this指针。 (2) 静态成员函数可以直接访问静态数据成员 。在c++程序中静态成员函数主要是访问静态数据成员,不访问静态数据成员 例外: Student s1; int age ;int score ;age和score都是非静态的数据成员 static void print() {     Cout< } 在当前作用域是合法的。

🐰友元函数

友元函数不是当前类的成员函数,而是独立于当前类的外部函数,但他可以访问该类对象的任何成员,包括私有成员、公有成员和保护成员。

友元函数的声明

友元函数的声明时,只要在声明语句的最前面加上关键字friend。  声明可以放在类的任何成员属性里(私有部分、公有部分和保护部分) 
friend 返回类型 函数名(类名 &引用名...)friend void print(Student &temp); 
注意: (1)声明一个友元函数,就可以用这个函数直接访问该类的私有数据,从而提高了运行效率。 (2)友元函数提供了不同类的成员函数之间、类的成员函数与普通函数之间进行数据共享 (3)一个类的成员函数也可以作为另一个类的友元,一个类的成员函数作为另一个类的友元函数时,必须先定义这个类(作成员函数的类)

🐰 友元类

这种 友元类的说明方法是在另一个类声明中加入语句”friend 类名;” ,此语句可以放到公有部分,也可以放到私有部分或保护部分
class B{    ...};class A{    friend B;    ...};
这样B就是A的友元类,友元类B所有的成员函数都是A的友元函数,可以访问A类的对象中的任何成员。 关于友元,有以下注意: (1)友元函数的声明可以出现在类的任何地方,也就是说友元的声明不受成员访问符的限制 (2)友元关系是单向的不是双向的,如果声明了B类是A类的友元类,不一定A类是B类的友元类,A类的成员函数不一定能够访问B类中的成员 (3)友元关系是不能传递的,例如,如果说B类是A类的友元类,C类是B类的友元类,并不能说C类就是A类的友元类。

 

🌸🌸🌸如果大家还有不懂或者建议都可以发在评论区,我们共同探讨,共同学习,共同进步。谢谢大家! 🌸🌸🌸   

来源地址:https://blog.csdn.net/m0_67846057/article/details/129639944

--结束END--

本文标题: 静态成员,友元函数,友元类

本文链接: https://www.lsjlt.com/news/395901.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 静态成员,友元函数,友元类
    🐶博主主页:@ᰔᩚ. 一怀明月ꦿ  ❤️‍🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C++ 🔥座右铭:“不要等到什么都没有了,才下定决心去做” ...
    99+
    2023-09-05
    jvm c++ java
  • C++之友元:友元函数和友元类详解
    一、友元介绍我们知道,类的成员函数可以访问同类的其他成员函数,包括公有、私有和保护成员。而类的外部函数只能访问类的公有成员。友元是一种允许非类成员函数访问类的非公有成员的一种机制。可...
    99+
    2022-11-15
    友元函数 友元类
  • C++ 友元函数详解:友元函数和成员函数的区别?
    友元函数允许外部函数访问类中的私有或受保护成员,通过在类定义中用 friend 关键字声明。与成员函数不同,友元函数声明在类外部,可访问类的私有和保护成员,而成员函数在类内部声明,可访问...
    99+
    2024-04-29
    c++ 友元函数 作用域
  • C++中的友元函数与友元类详情
    目录一、问题背景二、友元函数三、友元类一、问题背景 对类的封装是C++三大特性中的一个重要特性,封装好的数据在类的外部是访问不到的但是一旦出了问题,想要操作被封装的数据怎么办呢?由此...
    99+
    2024-04-02
  • C++ 友元函数详解:友元函数在访问私有成员时的限制?
    友元函数可以访问私有成员,但受限制:只能访问当前类(不能访问继承类)的私有成员,且不能直接修改。实战中,友元函数可通过引用或指针访问私有成员,例如访问 student 类的私有成员 na...
    99+
    2024-04-29
    私有成员 友元函数 c++
  • C++ 友元函数能访问哪些类型成员?
    在 c++++ 中,友元函数可以访问类的所有公共、受保护和私有成员,但私有成员的访问受限,只能在类的成员函数调用时进行。 C++ 友元函数可以访问哪些类型成员? 什么是友元函数? 友元...
    99+
    2024-04-15
    类成员 友元函数 c++
  • C++中任何事与友元函数和友元类
    本篇文章为大家展示了C++中任何事与友元函数和友元类,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类。类具有封装和信息隐藏...
    99+
    2023-06-17
  • C++ 友元函数详解:如何声明友元类?
    在 c++++ 中,友元类允许一个类的所有成员函数访问另一个类的私有成员。声明友元类时,使用 friend class 关键字,例如:outerclass 声明 内层类 为友元类:fri...
    99+
    2024-04-28
    c++ 友元函数 敏感数据
  • C++中友元函数与友元类的示例分析
    小编给大家分享一下C++中友元函数与友元类的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、问题背景对类的封装是C++三大特性中的一个重要特性,封装好的...
    99+
    2023-06-29
  • 友元函数可以修改类中的成员数据吗?
    是的,友元函数可以通过声明为 friend 并具有对类成员的直接访问权限来修改类中的成员数据。这可用于实现流插入和流提取运算符等实战案例。 友元函数可以修改类中的成员数据吗? 引言 友...
    99+
    2024-04-15
    友元函数 修改成员数据
  • C++ 静态函数与友元函数有什么区别?
    静态函数是类方法,只访问静态成员而不接收 this 指针;友元函数不属于类,可以访问所有成员并接收 this 指针。 C++ 中静态函数与友元函数的区别 静态函数 属于类但并不属于任...
    99+
    2024-04-17
    静态函数 友元函数 c++
  • C++ 友元函数详解:友元函数和类模板的交互?
    友元函数可访问类的私有成员,通过在类声明中使用 friend 声明。类模板允许创建通用类和友元函数,适用于不同类型数据。实战案例中,友元函数模板 printdata() 可打印任何类型 ...
    99+
    2024-04-30
    c++ 友元函数 封装性
  • C++类与对象深入之静态成员与友元及内部类详解
    目录一:静态成员1.1:静态成员分类1.2:静态成员变量1.3:静态成员函数1.4:总结特性1.5:试题示例1.6:C++11成员初始化新玩法二:友元2.1:全局函数做友元2.2:类...
    99+
    2024-04-02
  • C++ 友元函数详解:友元函数在模板类中的使用?
    在 c++++ 中,友元函数可以访问类的私有成员,而无需成为该类的成员函数。在模板类中,友元函数的声明与普通类中的声明类似,且必须在类的定义外部进行声明。例如,要在模板类 myclass...
    99+
    2024-04-29
    c++ 友元函数
  • C++ 友元函数详解:如何调用友元函数?
    友元函数允许跨类访问私有或受保护成员,语法为:class classname {protected: // 私有或受保护成员};friend 声明友元函数;。要调用友元函数,使用点运算符...
    99+
    2024-04-28
    c++ 友元函数
  • C++ 友元函数如何访问私有成员?
    c++++ 中友元函数访问私有成员的方法有两种:在类内声明友元函数。声明一个类作为友元类,该类中所有的成员函数都可以访问另一个类的私有成员。 C++ 友元函数访问私有成员的方法 友元函...
    99+
    2024-04-15
    友元函数 访问私有成员 c++
  • 友元函数是否可以调用其他友元函数?
    友元函数间可以相互调用。友元函数是一种特殊函数,它可以访问类的私有成员变量和私有方法,允许创建紧密关联的函数组,这些函数可以访问彼此的私有数据。友元函数之间可以像普通函数一样相互调用。 ...
    99+
    2024-04-15
    友元函数 友元函数调用 c++
  • C++中的成员函数和友元函数怎么使用
    成员函数是定义在类中的函数,它可以访问类中的成员变量和其他成员函数。成员函数使用类的对象来调用,并且隐式地访问该对象的成员。友元函数...
    99+
    2023-08-16
    C++
  • C++中成员函数和友元函数有哪些区别
    小编给大家分享一下C++中成员函数和友元函数有哪些区别,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!为什么使用成员函数和友元函数这个问题至关重要,直接影响着后面的...
    99+
    2023-06-29
  • C++ 友元函数详解:何时需要使用友元函数?
    友元函数是一种非成员函数,拥有访问私有或受保护成员的权限。使用友元函数可方便实现跨类数据共享、访问私有成员以实现特定功能、允许外部函数访问类私有数据等。 C++ 友元函数详解:何时使用...
    99+
    2024-04-29
    c++ 友元函数 封装性
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作