侯捷速刷1面向对象上

C与C++

C++提供了类与对象的特点

字符串相当于一个ptr,会指向字符串在哪个地址,四个字符串,大小为四个指针

文件组成

在这里插入图片描述
头文件
在这里插入图片描述

封装

数据一般都是private,只有自己人看到,可以public,privat交替写
在这里插入图片描述

想要privat的数据,可以先访问public的函数,通过函数来传递数据。

构造函数

C++,想要创建一个对象,构造函数会自动创建

特点

函数名称必须和类相同,无返回值,构造函数特有的一种写法 r设到re区中,i设到im区中,在初始化阶段赋值
下面那个问题是可以的,但是效率差一些
在这里插入图片描述

:后面可以做的事情是设初值,和初始化

不带指针的,就不太需要析构函数

重载

图中问题中,会出现二义性,会编译错误
在这里插入图片描述

能够重载原因是因为,编译器会经过编译,根据函数名和参数列表,会得到一个全新的实际名称,这就是重载相同函数时可以被区分的原因

不建议将构造函数放到privat里头,不然的话很难调用,要用单例模式才行
在这里插入图片描述

对于不想改变数据的函数,为常量成员函数,即加个const,问号这里不可以,因为调用时const,但是如果函数体里面没有加对应const的话,会产生二义性
在这里插入图片描述

传值或者引用

引用相当于指针,传引用相当于传指针
在这里插入图片描述

友元

可以不用通过函数取的private 的数据,可以直接拿
在这里插入图片描述
注意
在这里插入图片描述
最好一直用引用传值,不能改变的话加const,且记住局部变量不允许传引用出去
在这里插入图片描述

引用接收方式
在这里插入图片描述
非成员函数的操作符重载(不是在类中定义的函数)
在这里插入图片描述
在这里插入图片描述

浅拷贝

两个指针指向同一个区域,用指针a改变区域,指针b也受影响
在这里插入图片描述
在这里插入图片描述

堆栈内存

在这里插入图片描述
栈的生存周期
在这里插入图片描述
静态对象特性
在这里插入图片描述
全局
在这里插入图片描述
内存泄露
在这里插入图片描述
在这里插入图片描述
delete有两步,先是删除动态分配的内存,再分配string本身的指针
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意

内存泄漏的不是灰色区域,而是灰色区域的指针指向的空间
在这里插入图片描述
在这里插入图片描述
静态数据要在类外设初值,静态函数调用方式可以在没有对象的时候调用,也可以通过对象调用
在这里插入图片描述

类鱼类的关系-compostion

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
继承
在这里插入图片描述
最好将父类的析构函数设置为virtual
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值