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 ...
随机推荐
- 从一些常见的错误聊聊mysql服务端的关键配置
背景 每一年都进行大促前压测,每一次都需要再次关注到一些基础资源的使用问题,订单中心这边数据库比较多,最近频繁报数据库异常,所以对数据库一些配置问题也进行了研究,本文给出一些常见的数据库配置,说明这些 ...
- RocketMQ系列(一) 基本介绍
RocketMQ系列(一) 基本介绍 1.MQ 作用 MQ 的应用场景主要包含以下 3 个方面: 1.1.异步与解耦 当我们下了一个订单之后,订单服务会进行 RPC 同步调用 支付服务.库存服务.物流 ...
- 【译】在 Visual Studio 中处理图像变得更容易了
任何 Web.桌面或移动开发人员都经常使用图像.你可以从 C#.HTML.XAML.CSS.C++.TypeScript 甚至代码注释中引用它们.有些图像是本地的,有些存在于线上或网络共享中,而其他图 ...
- Codeforces Round #576 (Div. 2)
A - City Day 题意:给n,x,y和数组a[n],求最小的下标d,使得有a[d-x,d-x+1,--d-1,d+1,d-1,d+1,--d+y-1,d+y]都比a[d]小,若d-x<= ...
- [Servlet/Tomcat] HttpServletRequest#getHeader(headerNameWithIgnoreCase)(获取header时不区分大小写)
1 故事背景 最近项目上有个业务需求,翻译成技术需求,即:将request.headers中的几个header入参转换成request.body(pageRequest)中的内置参数. 为便于灵活配置 ...
- Solution -「洛谷 P7395」「CoE-I 2021C」弹珠游戏
Description Link. 游戏在 \(4\times4\) 的菱形棋盘上进行: 两名玩家轮流放置弹珠,可以在横向.纵向.\(45\) 度斜线.\(135\) 度斜线方向未放置弹珠的位置连续放 ...
- git升级编译安装
一.删除旧版本git 方法一. yum remove git -y (centos环境) apt-get remove git -y (Ubuntu环境) 方法二. which git [root@p ...
- Python爬虫如何使用代理IP进行抓取
前言 Python爬虫是一种非常强大的工具,可以用于抓取各种网站的数据.但是,在一些情况下,我们需要使用代理IP来完成数据抓取,如绕过IP限制或保护隐私信息等.本文将介绍如何使用Python爬虫抓取数 ...
- Oracle问题:ORA-01109解决办法
出现问题: 在数据库服务器端,查询dual表,报ORA-01109错误 ORA-01109:database not open 查看: sqlplus / as sysdba;--管理员登录 sele ...
- TIM-有感BLDC转速解析
TIM-有感BLDC转速解析 1.基本概念解析 霍尔传感器的原理:通电线圈产生的磁场会使得转子所在位置会产生磁场,其中离得最近的霍尔传感器的磁场最强,进而导致最近霍尔传感器会产生最大的电压信号,这个最 ...