c++学习,和友元函数
第一友元函数访问私有元素时不会显示,但是是可以调用的(我使用的是gcc10.3版本的)友元函数可以访问任何元素。就是语法你别写错了。
继承如果父类已经写了构造函数,子类一定要赋值给构造函数,要么父类就别写,让编译器自己搞默认值。父类已经比如说int a在父类已经赋值了20,子类也是20。子类不能直接使用私有的,但是可以调用父类的方法。public:子类和父类一一对应,父类的protected与子类的public和protected对应,private:基类公有成员,子类中继承为自己的私有成员,在派生类可以访问,在外部不可以访问。基类保护成员,子类中继承为自己的私有成员,在派生类可以访问,在外部不可以访问。基类私有成员,子类一样不可以访问基类的私有成员,
运算符重载:friend ostream & operator<<( ostream & os,const hj & c);friend 这个字符一定要加上不然出错,这个是重载输出运算符的,ostream &后面接个表名,然后接某个类,意思是这个类的对象输出是你想输出的
比如说
ostream& operator<<(ostream & os,const hj & c)
{
os<<"sb";
return os;
}
hj j(1,2);
cout<<j;在运行这个时就会输出sb这个字符串
接下来就是跟堆紧密相关,如果是Java就直接new对象(因为Java虚拟机有垃圾回收器)就可以了,而在c++里面就要自己设计函数回收,不能直接new对象,因为new的对象只是堆里面的浅复制。
什么叫浅复制?就是你new的两个string对象(这两个值相同)指向同一个堆里面地方,就是你只是复制了那个对象的地址,并不会从新开辟一块空间,当你销毁一个对象时会把堆里面的那一块地方也销毁了,那你另一个就成空指针了。你们可能说,不销毁堆里面的空间不就没事了?不这解决不了问题,两个指针指向同一个地方,倘若我两个指针做不同的操作,岂不是会互斥。
声明指向堆中值的指针数据成员
声明与定义析构函数
声明与定义拷贝构造函数
这三个明天再说。(哎,我一打代码,他们就跟风,就那么喜欢跟我卷)
指针这个东西在c++里面可以说是很强大的。它可以快速的定位,只要你有地址,指针就可以指向你那个地方,并且修改里面的值。这就是为什么ce喜欢搞指针来做wai gua(这个我不说)
c++学习,和友元函数的更多相关文章
- C++学习12 友元函数和友元类
友元函数和友元类在实际开发中较少使用,想快速学习C++的读者可以跳过本节. 一个类中可以有 public.protected.private 三种属性的成员,通过对象可以访问 public 成员,只有 ...
- c++学习之友元
最近工作好累呀,晚上总是失眠,自学c++的步骤都放慢了,本来之前看c++ primer的,结果这本书讲的太细节了,初学者不是很好把握.所以我又重新找了个教程,比较适合初学者.今天学习到友元函数和友元类 ...
- C++学习之友元类和友元函数
C++学习之友元类和友元函数 模板类声明也可以有友元,模板的友元可以分为以下几类: 1.非模板友元: 2.约束模板友元,即就是友元的类型取决于类被实例化的时候的 ...
- C++ 学习笔记(五)类的知识小结一(重载,友元函数,静态成员,new)
---恢复内容开始--- 学习C++类知识点还是挺多的,每个知识点学习的时候都觉得这个知识点咋那么多东西,其实真学完了再回头看好像也就那么点.这次用程序写一个黑猫揍白猫的故事总结一下这段时间学习的零碎 ...
- 初探C++运算符重载学习笔记<2> 重载为友元函数
初探C++运算符重载学习笔记 在上面那篇博客中,写了将运算符重载为普通函数或类的成员函数这两种情况. 以下的两种情况发生.则我们须要将运算符重载为类的友元函数 <1>成员函数不能满足要求 ...
- C++学习之路—运算符重载(二)运算符重载作为类的成员函数和友元函数
(根据<C++程序设计>(谭浩强)整理,整理者:华科小涛,@http://www.cnblogs.com/hust-ghtao转载请注明) 对运算符重载的函数有两种处理方式:(1)把运算符 ...
- C++编程学习(九)this指针&友元函数
mooc西工大魏英老师的课程通道关闭了,难受.现在边看工程代码边重温刷第一遍C++时候的知识点,顺序没有按照大纲的来,想到哪写到哪. this是干啥用的? 简介:在 C++ 中,每一个对象都能通过 t ...
- C++基础——运算符重载友元函数示例
一.前言 其实本人学习C++的目的,只是为了体会OOP设计思想,并为利用System Verilog验证复杂设计做准备.如果想要真正做点软件方面项目级的东西,还需要掌握其他高级语言和库.框架等知识.因 ...
- c++类模板之友元函数
前言:自从开始学模板了后,小编在练习的过程中.常常一编译之后出现几十个错误,而且还是那种看都看不懂那种(此刻只想一句MMP).于是写了便写了类模板友元函数的用法这篇博客.来记录一下自己的学习. 普通友 ...
- C++的友元类和友元函数实例
#include <math.h> #include<iostream> using namespace std; class Point { public: Point(do ...
随机推荐
- WPF --- 非Button自定义控件实现点击功能
引言 今天在做一个设置文件夹路径的功能,就是一个文本框,加个按钮,点击按钮,弹出 FolderBrowserDialog 再选择文件夹路径,简单做法,可以直接 StackPanel 横向放置一个 Te ...
- 9、Mybatis之动态SQL
9.1.环境搭建 9.1.1.创建新module 创建名为mybatis_dynamicSQL的新module,过程参考5.1节 9.1.2.创建Emp实体类 package org.rain.myb ...
- 《SQL与数据库基础》20. 主从复制
目录 主从复制 原理 搭建 主库配置 从库配置 测试 本文以 MySQL 为例 主从复制 主从复制是指将主数据库的 DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执 ...
- 使用API数据接口获取商品详情数据的流程
API数据接口是开发者获取第三方平台数据的一种方式,使用API接口可以快速地获取海量的商品详情数据,相比其他方式更加高效.实时.下面将介绍使用API数据接口获取商品详情数据的主要流程和步骤: 申请AP ...
- iOS开发过程中的内存监控
- 《Python魔法大冒险》005 魔法挑战:自我介绍机器人
魔法师和小鱼坐在图书馆的一扇窗户旁,窗外的星空闪烁着神秘的光芒.魔法师轻轻地拍了拍小鱼的肩膀. 魔法师: 小鱼,你已经学会了编写简单的魔法程序,现在我要教你如何创造一个有自己思想的机器人,让它能够和我 ...
- UM 百度富文本编辑器自定义图片上传路径
UM 百度富文本编辑器自定义图片上传路径 因为公司要做图文编辑,选择了UM,但是直接存入Tomcat根目录下,不满足业务需求需要存入服务器上. 一.需要注意的是在um的JSP目录下已经存在了Uploa ...
- MySQL 表分区简介
MySQL表分区是一种数据库管理技术,用于将大型表拆分成更小.更可管理的分区(子表).每个分区可以独立进行维护.备份和查询,从而提高数据库性能和管理效率.以下是详细介绍MySQL表分区的步骤和注意事项 ...
- rnacos实现raft和类distro协议,支持集群部署
1. rnacos 简介 rnacos是一个用rust实现的nacos服务. rnacos是一个轻量. 快速.稳定.高性能的服务:包含注册中心.配置中心.web管理控制台功能,支持单机.集群部署. r ...
- k8s 自动扩缩容HPA原理及adapter配置详解👑
大家好,我是蓝胖子,都知道,k8s拥有自动扩缩容机制HPA,我们能够通过配置针对不同的扩缩容场景进行自动扩缩容,往往初学者在面对其中繁多配置的时候会学了又忘记,今天我将会以一种不同的视角,结合api ...