侯捷速刷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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
