| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 友元函数,友元类,类模板 -> 正文阅读 |
|
[C++知识库]友元函数,友元类,类模板 |
C++提供友元机制,允许外部类和函数访问类的私有成员和保护成员的辅助方法,即将它们声明为一个给定类的友元类(或友元函数),使其具有类成员函数的访问权限。但友元本身不是类的成员,它不属于任何类。 优点:提高软件的可靠性、可重用性、可维护性。 不足:增加了程序运行时函数的调用开销——当成员函数调用很频繁时,将导致执行效率的降低,增加程序的运行时间。 一、友元函数友元函数:如果在一个类以外的某个地方定义了一个函数,在类定义中用friend对其进行声明,此函数就称为这个类的友元函数。 ? friend? 返回类型? 函数名(参数列表); ????????{ … } 友元成员函数:是指一个类的成员函数可以是另一个类的友元函数即可以通过一个类的成员函数访问另一个类的私有成员。 二、友元类友元类是在多个类之间建立的一种访问机制,当程序中定义了两个或两个以上的类时,如果希望一个类可以访问另个类的私有成员时,可以将该类声明为另一类的友元,友元类的所有成员函数都可视为该类的友元函数,能访问该类的私有成员和保护成员。 定义友元类的形式: friend? 类名; 如: class A ????????class B {...} ; 三、关于友元的说明:1.友员可以访问并修改类的私有或保护数据,调用类的私有或保护成员函数,使类既具有封装性,又具有灵活性。 3.友元的关系不能传递或继承,如果类B是类A的友元类,类C是类B的友元类,不等于类C是类A的友元类。如果想让类c是类A的友元类,必须显式地在类中另外声明。 四、类模板对于功能相同而数据类型不同的一些函数,可以定义一个通用的函数模板来实现。对于功能相同而数据类型不同的一些类,也可以定义一个通用的类模板。 类模板定义形式: template <class 类型参数名> ????????··· }; 类模板名 <实际类型名> 对象名; 如果在类模板外定义成员函数,类模板形式应写成: ????????template <class 类型参数名> ????????????????{函数体} |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 2:43:16- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |