第一友元函数访问私有元素时不会显示,但是是可以调用的(我使用的是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++学习,和友元函数的更多相关文章

  1. C++学习12 友元函数和友元类

    友元函数和友元类在实际开发中较少使用,想快速学习C++的读者可以跳过本节. 一个类中可以有 public.protected.private 三种属性的成员,通过对象可以访问 public 成员,只有 ...

  2. c++学习之友元

    最近工作好累呀,晚上总是失眠,自学c++的步骤都放慢了,本来之前看c++ primer的,结果这本书讲的太细节了,初学者不是很好把握.所以我又重新找了个教程,比较适合初学者.今天学习到友元函数和友元类 ...

  3. C++学习之友元类和友元函数

    C++学习之友元类和友元函数       模板类声明也可以有友元,模板的友元可以分为以下几类:        1.非模板友元:        2.约束模板友元,即就是友元的类型取决于类被实例化的时候的 ...

  4. C++ 学习笔记(五)类的知识小结一(重载,友元函数,静态成员,new)

    ---恢复内容开始--- 学习C++类知识点还是挺多的,每个知识点学习的时候都觉得这个知识点咋那么多东西,其实真学完了再回头看好像也就那么点.这次用程序写一个黑猫揍白猫的故事总结一下这段时间学习的零碎 ...

  5. 初探C++运算符重载学习笔记&lt;2&gt; 重载为友元函数

    初探C++运算符重载学习笔记 在上面那篇博客中,写了将运算符重载为普通函数或类的成员函数这两种情况. 以下的两种情况发生.则我们须要将运算符重载为类的友元函数 <1>成员函数不能满足要求 ...

  6. C++学习之路—运算符重载(二)运算符重载作为类的成员函数和友元函数

    (根据<C++程序设计>(谭浩强)整理,整理者:华科小涛,@http://www.cnblogs.com/hust-ghtao转载请注明) 对运算符重载的函数有两种处理方式:(1)把运算符 ...

  7. C++编程学习(九)this指针&友元函数

    mooc西工大魏英老师的课程通道关闭了,难受.现在边看工程代码边重温刷第一遍C++时候的知识点,顺序没有按照大纲的来,想到哪写到哪. this是干啥用的? 简介:在 C++ 中,每一个对象都能通过 t ...

  8. C++基础——运算符重载友元函数示例

    一.前言 其实本人学习C++的目的,只是为了体会OOP设计思想,并为利用System Verilog验证复杂设计做准备.如果想要真正做点软件方面项目级的东西,还需要掌握其他高级语言和库.框架等知识.因 ...

  9. c++类模板之友元函数

    前言:自从开始学模板了后,小编在练习的过程中.常常一编译之后出现几十个错误,而且还是那种看都看不懂那种(此刻只想一句MMP).于是写了便写了类模板友元函数的用法这篇博客.来记录一下自己的学习. 普通友 ...

  10. C++的友元类和友元函数实例

    #include <math.h> #include<iostream> using namespace std; class Point { public: Point(do ...

随机推荐

  1. 学好Elasticsearch系列-索引的批量操作

    本文已收录至 Github,推荐阅读 Java 随想录 微信公众号:Java 随想录 先看后赞,养成习惯. 点赞收藏,人生辉煌. 目录 基于 mget 的批量查询 基于 bulk 的批量增删改 增加 ...

  2. Vue【原创】可拖动列表 darg-list

    可拖动排序的列表 drag-list,这个比较简单易懂,拿例子直接运行看效果就好了. 组件代码: 1 <template> 2 <ul class="list" ...

  3. influxdb 函数 non_negative_derivative 使用

    转载请注明出处: 在InfluxDB中,non_negative_derivative()函数用于计算指定字段的非负导数.它可以用来计算时间序列数据的速率或增长率. 该函数的语法如下: non_neg ...

  4. 如何通过拼多多订单API接口获取订单详情

    要获取拼多多订单详情,可以使用以下接口: 1. API名称:pdd.order.detail.get 接口说明:此接口用于查询某个订单的详情信息. API文档地址:前往注册 调用该接口需要提供以下参数 ...

  5. ELK环境部署-基础环境安装(一)

    ELK简介 ElasticSearch工作原理以及专用名词 ELK是Elasticsearch(ES) , Logstash, Kibana的结合,是一个开源日志收集软件. Elasticsearch ...

  6. ipmitool配置机器的BMC

    一.设置IP地址 1.确定操作对象 #ipmitool mc info 输出中"Device Revision"是命令的操作对象 2.设置BMC IP # ipmitool -I ...

  7. 大企业才用的分布式唯一Id,它比GUID好

    支持.Net Core(2.0及以上)与.Net Framework(4.5及以上) 可以部署在Docker, Windows, Linux, Mac. 分布式唯一Id,顾名思义,是指在全世界任何一台 ...

  8. 我找回了我喜欢的Github Old Feed

    前言 这周Github更新了个人主页Feed(指的是用户的活动源或动态源),作为GitHub重度爱好者而言New Feed完全不是我之前所喜欢的效果.虽然说New Feed添加了允许用户可以自定义配置 ...

  9. element-ui实现弹窗

    element-ui实现弹窗 需要的官网组件 要弹出的页面 <template> <el-form :model="ruleForm" :rules=" ...

  10. Quantitative Relationship Induction

    数量关系是指事物之间的数值或数量之间的相互关系(+.-.*./). 数量关系描述各种量的变化和相互关系.数量关系可以包括数值的比较.增减.比例.百分比.平均值等方面. 在数学中,数量关系可以通过代数方 ...