C++类(坚持更新c++内容的第7天)

本文介绍了C++中数据抽象的概念,强调了它如何将对象的实现与操作分离。通过抽象数据类型如`Sales_item`,展示了成员函数的定义,包括构造函数、拷贝、赋值和析构函数。此外,还讨论了类的作用域,说明了如何在类内外访问成员。文章以`Screen`类为例,解释了成员访问运算符的使用。
摘要由CSDN通过智能技术生成

概念

数据抽象能帮助我们将对象的具体实现与对象所能执行的操作分离开来。

定义抽象数据类型

//item是一个Sales_item类型的对象。
//不能访问Sales_item对象的数据成员,事实上,我们甚至根本不知道这个类有哪些数据成员
Sales_item item;

//Sale_data类不是一个抽象数据类型
struct Sales_data{
   std::string bookNo;
   unsigned units_sold = 0;
   double revenue = 0.0;
};

定义成员函数

引入this, 使用了点运算符来访问total对象的isbn成员,然后调用它。

Sales_data total;
total.isbn()

构造函数

每个类定义了它的对象被初始化的方式,类通过一个或者几个特殊的成员函数来控制其对象的初始化过程,这些函数叫做构造函数。构造函数的名字和类名相同,和其他函数不一样的是,构造函数没有返回类型。

默认的构造函数:

Sales_data() = default;

拷贝、赋值和析构

类还需要控制拷贝、赋值和销毁对象时发生的行为。当我们使用了赋值运算符时会发生对象的赋值操作。当对象不再存在时执行销毁的操作,比如一个局部对象会在创建它的块时被销毁,当vector对象销毁时存储在其中的对象也会被销毁。

类的作用域

在类的作用域之外,普通的数据和函数成员只能由对象、引用或者指针使用成员访问运算符来访问。

Screen::pos ht = 24, wd = 80;
Screen scr(ht, wd, '');
Screen *p = &scr;
char c = scr.get(); //访问scr对象的get成员
c = p->get(); //访问p所指对象的get成员

参考<<C++ Primer 第5版>>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值