友元函数破坏了类的封装特性,它可以在类的外部访问类的私有属性

#include "iostream"
using namespace std;
class A1
{
public:A1(){a1 = 100;a2 = 200;}int getA1(){return this->a1;}
friend void setA1(A1 *p, int a1); //声明一个友元函数
private:int a1;int a2;
};
void setA1(A1 *p, int a1)
{p->a1 = a1;
}
void main11()
{A1 mya1;cout<<mya1.getA1()<<endl;setA1(&mya1, 300);cout<<mya1.getA1()<<endl;system("pause");
}

友元类可以访问”朋友”的方法和变量

c++ 友元函数,友元类相关推荐

  1. 类模板,多种类型的类模板,自定义类模板,类模板的默认类型,数组的模板实现,友元和类模板,友元函数,类模板与静态变量,类模板与普通类之间互相继承,类模板作为模板参数,类嵌套,类模板嵌套,类包装器

     1.第一个最简单的类模板案例 #include "mainwindow.h" #include <QApplication> #include <QPush ...

  2. 友元函数 友元类 友元成员函数

    友元 一般来说,类内的私有数据是对外不可见的,但在有些情况下,我们需要在类外对该类的私有数据进行访问,这就需要用到一种新技术--友元(friend),即在声明前添加关键字friend. 友元关系是单向 ...

  3. C++笔记 友元函数 友元类

    友元函数 :友元函数是可以直接访问类的私有成员的非成员函数. 它是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以声明,声明时只需在友元的名称前加上关键字friend,其格式如下:     ...

  4. 友元函数、类的非静态成员函数、静态成员函数的区别

    类中申明的函数相对于类来说有三层意思: 1.有this指针 2.函数在类的作用区域中 3.可以访问类中私有部分 4.可以被继承 非静态成员函数具有1234 静态成员函数具有234 友元函数具有3 静态 ...

  5. 【C++ 语言】面向对象 ( 成员函数 | 常量函数 | 友元函数 | 友元类 | 单例类 )

    文章目录 成员函数 常量函数 友元函数 new 创建对象 友元类 单例类 成员函数 此处继续上一篇博客继续向后讲解C++面向对象 类成员方法 , 除了定义构造方法与析构方法之外 , 还可以定义普通的成 ...

  6. C++中友元函数和友元类

    友元函数 友元函数是可以直接访问类的私有成员的非成员函数.它是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以声明,声明时只需在友元的名称前加上关键字friend,其格式如下: frien ...

  7. public 函数_Chapter18:友元函数和友元类

    这一章的问题从"如何畅通无阻的访问另一个类"开始,类的属性有private.protected.public,根据继承权限有不同的访问方式.但是类之间的关系不一定是继承,有时一个类 ...

  8. C++ 友元(友元函数和友元类)

    友元的作用:提高了程序的运行效率(使得普通函数可以直接访问类的保护数据,避免了类成员函数的频繁调用,即减少了类型检查和安全性检查等都需要时间开销),但它破坏了类的封装性和隐藏性,使得非成员函数可以访问 ...

  9. C++ 类的知识 | 构造函数再探、匿名对象、友元函数、内部类、类的const成员、类的static成员

    文章目录 构造函数再探 以下代码共调用多少次拷贝构造函数 委托构造函数 概念 形式 匿名对象 友元 友元的声明 友元类 令成员函数作为友元 函数重载和友元 注意 内部类 特性 类的const成员 可变 ...

最新文章

  1. 肠子的小心思(二):你坐在马桶上的姿势很可能不正确
  2. 卷进大厂系列之LeetCode刷题笔记:移除链表元素(简单)
  3. java awt 监视器_java – 停止所有Awt / Swing线程和监视器和东...
  4. RESTful_URI资源
  5. Java 技术篇-linux系统下安装jdk、设置java环境变量实例演示
  6. 三国志战略版服务器维护延时,三国志战略版服务器爆满是多少人 爆满进不去怎么办...
  7. 文献学习(part33)--Clustering by fast search and find of density peaks
  8. easyui datagrid 获得共多少条记录_聊城市优化简化获得电力流程做法在全省供电系统推广...
  9. Android 使用Nginx rtmp 模块
  10. [C#]Main(String[] args)参数输入问题
  11. ESP32 之 ESP-IDF 教学(十一)WiFi篇—— WiFi两种模式
  12. jsp java 购物车,jsp简单购物车
  13. 弘玑Cyclone发布全线产品 | 多个产品与功能系行业首创
  14. 回收站被清空还能否找回文件
  15. 【转】eclipse, Log4j配置(真心的详细~)
  16. Android 多进程的基础使用及优缺点
  17. 小乐乐与进制转换-c++(六进制转换函数)
  18. 花花世界迷人眼,没有实力别赛脸,做Python实力派(万字精华,初学者,收藏必备!!!)
  19. c++ 字符串流 sstream(常用于格式转换)
  20. Python Re正则表达式

热门文章

  1. 人大金仓数据库sql语句_数据库SQL语句大全——最常用的SQL语句
  2. 使用Python编写自己的个人密码管理器
  3. Python使用扩展库numpy计算矩阵加权平均值
  4. 几行Python代码模拟轮盘抽奖游戏
  5. Python使用模块中对象的几种方法
  6. android版本管理工具下载,apk应用管理app下载
  7. 调用GPU进行神经网络的训练 GPU环境的搭建
  8. 代替紧急通知_人员紧急替代程序与替代方案的通知
  9. 力扣198. 打家jie舍(JavaScript)
  10. mysql shell命令和作用_MySQL的一些功能实用的Linux shell脚本分享