【C++ Primer Plus(第六版)】第十章-对象和类

本文探讨了C++中的面向对象编程,包括类的设计原则、构造和析构函数的作用,以及抽象数据类型的使用。讲解了类和结构的区别,以及如何通过类如ostream进行输出格式设置。重点介绍了this指针、对象数组、作用域和抽象数据类型的应用实例。
摘要由CSDN通过智能技术生成

第十章 对象和类

10.1 过程性编程和面向对象编程

面向过程首先考虑要遵循的步骤;然后考虑如何表示这些数据。
面向对象首先从用户角度考虑对象,描述对象的所需的数据以及描述用户与数据交互所需的操作。

10.2 抽象和类

  • C语言中有基本数据(int float char 指针)类型完成如下工作:
    决定数据对象需要的内存数量;
    决定内存中的位(不同类型占用不同的内存位数);
    决定可使用数据对象执行的操作或方法。
  • 类和结构:
    C++对结构进行了扩展,结构和类的唯一区别是:结构默认访问是public,而类是private。
  • 使用ostream类时,可以设置cout的输出精度,方法如下:
ios_base::fmtflags init = os.setf(ios_base::fixed);
os.precision(0);
os.setf(ios::showpoint);
os.precision(1);

os.setf(init); // 恢复

10.3 类的构造和析构函数

构造函数初始化对象,析构函数释放对象空间。
C++11支持列表初始化。
具体的使用,看《C++语法提升》中的练习题。

10.4 this指针

this指针,指的是对象本身。

10.5 对象数组

和正常数组一样,也可以创建类的多个对象,如Stock st[4];创建了四个对象的数组。

10.6 类的作用域

类的成员函数的定义在函数前用类名::区分。
C++ 11 允许在类中定义的枚举类型和静态方法定义一个常量。
如:enum {MAX = 10} 等价于:static const int MAX = 10;

10.7 抽象数据类型

类很具体,也可以定义抽象数据类型,如:
typedef unsigned long Item;
Item items[5];

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值