c++primer plus类

对象和类
使用类
类和动态内存分配
类继承

抽象封装隐藏数据抽象,通过一个数据实体及其行为来实现对于现实世界的模拟,同时提高可重用性。
类是一种将抽象转化为用户定义类型的工具,它将数据表示和操纵数据的方法组合成一个整洁的包。
接口是一个共享框架,供两个系统交互时使用
private public proctected
类的初始化和释放,可能是一个需要注意的地方,同时,其相当于一个大的数据体。
把结构限制为只表示存粹的数据对象或没有私有部分的类。
作用域解析操作符
::
内联函数在类中也使用广泛
每个对象都有自己的存储空间,其中只存储数据,而函数在另一个部分,所以当使用时,是将数据发送给函数,也即是发送消息。
按照oop类也构成客户服务器模型,客户是使用类的程序。类声明构成了服务器,它是程序可以使用的接口。服务器确保该接口可靠并准确执行。服务器设计人员修改类设计的实现细节,而不能修改接口。
为什么不能通过一般化方法来初始化函数呢,因为其数据是受到保护的,所以才需要构造函数,而构造函数,其实本质也是一个函数咯,不能与类重名。显式和隐式调用两种方法,隐式只有在未提供默认构造函数时,才可以使用,隐式调用时不要带上括号。
析构函数何时被调用是一个问题。
可以将类声明和成员函数放在不同的文件夹中,这样可以将接口的抽象定义和实现细节分开。
那么现在我们还需要把改变数据的和不改变数据的方法分开,所以应该在那些不改变数据的函数后都加const
一般初始化一个类我们都有三种方式。赋值传递,直接初始化,指针动态。
this指针是一个比较特殊的东西,它主要是用来返回对象本身的引用,这在处理对象间的函数中是比较重要的。
对象数组呢?就是一个数组中都是对象,一般来说,如果不指明初始化方法就会调用默认构造函数,如果没有的话就会出错。
大部分工作都在于类设计,如果完成了类设计工作,那么剩下的部分将相当简单。
我们必须认识到类声明只是声明了类存在的形式,而其本身并没有被创建,其在内存中并没有空间使用。
贸然使用非标准和依赖平台的数据类型将使类急剧增大,从而增加所需的内存或程序的工作量。

操作符重载我就不用多说了吧,这个都很熟了。利用了函数多态和继承。
其格式为operator op(argument——list)
操作符重载有传递性,重载的限制其实也是需要注意的,其实主要就是无法重载系统为你定义好了的东西。
友元有三种:友元函数、友元类、友员成员函数。
友元函数是通过交换律来进行引出的,当交换时,我们要使用一个称为非成员重载操作符的函数,这个函数需要访问对象的值,但是它又不是成员函数,因此通过友元函数来进行处理。只需在原型声明前加上friend就可以了。其实也可以不用。矢量类来说明重载,因为其数据类型都是自己定义的。
对象之间的类型转换被我跳过了。

类中的静态变量在包含类方法的文件中初始化,因为如果在头文件中初始化的话,可能出现多个初始化语句副本。从而引发错误。
c++自动提供以下成员函数:
默认构造
复制构造
赋值操作符
默认析构函数
地址操作符
将一个创建的对象作为函数参数来传递会导致析构函数被调用。
其实可以这么说我可能并未完全掌握c++的内存分配技术,理解还有一点浅薄。
重载操作符
转换函数
以及内存分配
队列的这个类是一个实例吗?是为了跟我们讲之前应该使用的方法。
感觉主要是在于复制和拷贝的时候会有隐式的对象被调用了的原因。
在内存分配这一章后面再来继续深究吧

这一章主要是讲继承,继承主要是解决代码的重用性问题,因为以及写过的代码总是比新写的代码可用性要高,所以代码的重用性是比较重要的,传统的c函数通过预定义和预编译提供了一定的可重用性。
类继承主要在于添加,而添加则主要在于三个方面
功能、数据、行为
继承主要继承了一些什么东西呢?
主要是数据和方法
但是其构造函数要自己写
在派生类的构造中,会先调用基类,并初始化基类,然后再调用派生类,释放时则正好相反。

类的初始化,释放和传递算是很容易出错的了。
静态联编和动态联编
应该是继承类和基类之间的关系
以及虚函数在编译时究竟如何处理

is-a关系
公有的方式派生出另一个类
保护访问
构造函数成员初始化列表
向上和向下强制转换
虚拟成员函数
早期静态联编和晚期动态联编
抽象基类
纯虚函数
何时以及如何使用公有继承
一个类他究竟有哪些重要的东西呢
主要在于其内部函数,外部接口和变量
然后是其分配和释放

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值