尽管我们还写不出完整的Sales_item 类,但是可以尝试把那些数据元素组织到一起形成一个简单点的类。初步的想法是用户能直接访问其中的数据元素,也能实现一些基本的操作。
既然我们筹划的这个数据结构不带有任何运算功能,不妨把它命名为Sales_data 以示与Sales_item 的区别。Sales_data 初步定义如下:
我们的类以关键字struct 开始,紧跟着类名和类体(其中类体部分可以为空)。类体由花括号包围形成了一个新的作用域。类内部定义的名字必须唯一但是可以与类外部定义的名字重复。
类体右侧的表示结束的花括号后必须写一个分号,这是因为类体后面可以紧跟变量名以示对该类型对象的定义,所以分号必不可少。分号表示声明符(通常为空)的结束。一般来说,最后不要把对象的定义和类的定义放在一起。这么做无异于把两种不同实体的定义混在了一条语句里,一会定义类,一会定义变量,显然是一种不被建议的行为。
类数据成员
类体定义类的成员,我们的类只有数据成员。类的数据成员定义了类的对象的具体内容,每个对象有自己的一份数据成员拷贝。修改一个对象的数据成员,不会影响其他Sales_data 的对象。
定义数据成员的方法和定义普通变量一样:首先说明一个基本类型,随后紧跟一个或多个声明符。我们的类有3个数据成员:一个名为 bookNO 的string 成员、一个名为 units_sold 的unsigned 成员和一个名为 revenue 的 double 成员。每个Sales_data 的对象都将包括这3个数据成员。
c++11标准规定,可以为数据成员提供一个类初始值。创建对象时,类内初始值的限制与之前的介绍类似:或者放在花括号里,或者放在等号右边,记住不能使用圆括号。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· 开发者新选择:用DeepSeek实现Cursor级智能编程的免费方案
· 【译】.NET 升级助手现在支持升级到集中式包管理
· 独立开发经验谈:如何通过 Docker 让潜在客户快速体验你的系统
· 并发编程 - 线程同步(二)