博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
友元类与友元函数
阅读量:4212 次
发布时间:2019-05-26

本文共 1256 字,大约阅读时间需要 4 分钟。

操作符重载是C++的强大特性之一

操作符重载的本质是通过函数扩展操作符的语义

operator关键字是操作符重载的关键

friend关键字可以对函数或类开发访问权限

操作符重载遵循函数重载的规则

操作符重载可以直接使用类的成员函数实现

=, [], ()和->操作符只能通过成员函数进行重载

++操作符通过一个int参数进行前置与后置的重载

C++中不要重载&&和||操作符

 

 

友元函数:

  • 若B类是A类的友员类,则B类的所有成员函数都是A类的友员函数
  • 友员类通常设计为一种对数据操作或类之间传递消息的辅助类

#include 
using namespace std;class A{public: friend class B;//B类 是 A的好朋友 ,在B中可以访问A类的私有成员 私有函数 //1 声明的位置 和 public private没有关系 friend void modifyA(A *pA, int _a); //2 函数modifyA 是 类A的好朋友 A(int a=0, int b=0) { this->a = a; this->b = b; } int getA() { return this->a; }private: int a; int b;};// void modifyA(A *pA, int _a){ //pA->a = 100; pA->a = _a;}//class B{public: void Set(int a) { Aobject.a = a; } void printB() { cout<
<
1.class(字节码) ==》反射机制分析1.class 找到类对象。直接修改类的私有属性。。。//反射机制 成为一种标准。。。。jdk ...sun 做成标准 。。。jdk 的 api函数中有体现 //AOP//2 1.cpp===>汇编// 预编译 编译 连接 生成 。。gcc -E //gcc -s -//gcc -o 1.exe 1.c // 汇编往会找。。。。很难。。。。//3 开了一个后门 。。。friend/*gcc -E hello.c -o hello.i(预处理)gcc -S hello.i -o hello.s(编译)gcc -c hello.s -o hello.o(汇编)gcc hello.o -o hello(链接)以上四个步骤,可合成一个步骤gcc hello.c -o hello(直接编译链接成可执行目标文件)gcc -c hello.c或gcc -c hello.c -o hello.o(编译生成可重定位目标文件)*/ void main(){ B b1; b1.Set(300); b1.printB(); system("pause");}void main2101(){ A a1(1, 2); cout<< a1.getA()<

 

 

转载地址:http://zrzmi.baihongyu.com/

你可能感兴趣的文章
CREATE TABLE A LIKE B
查看>>
bs调用另一个vbs的函数
查看>>
mysql的“Got error 28 from storage engine”错误
查看>>
jdk安装
查看>>
存档数据迁移
查看>>
查看表对应的文件组
查看>>
压缩表
查看>>
SQL Server 分布式事务
查看>>
存在防火墙时MSDTC的运行配置
查看>>
SQL Server未将服务器 DBSERVER 配置为用于 DATA ACCESS
查看>>
拦截数据库增删改操作
查看>>
10倍以上提高Pentaho Kettle的MySQL写入速度
查看>>
MySQL的Galera Cluster配置说明
查看>>
SQL 添加链接服务器
查看>>
MySQL随机查询rand()优化
查看>>
dos调度ETL转换
查看>>
mysql myisam optimize任务
查看>>
myisamchk命令使用总结
查看>>
report server tempdb 过大问题
查看>>
sql server时间戳timestamp
查看>>