C++编程基础与面向对象实践-海康威视云存储平台技术文档
需积分: 49 64 浏览量
更新于2024-08-08
收藏 3.33MB PDF 举报
"面向对象编程-海康威视云存储管理平台技术文档"
本文档主要讨论的是面向对象编程(OOP)的基本概念,特别是在C++语言中的应用。面向对象编程是一种编程范式,它以对象为中心,通过封装、继承和多态等特性来组织代码。
1. 虚成员:在C++中,虚成员(virtual members)是用来实现多态性的关键机制。当一个成员函数被声明为虚函数时,这意味着在派生类中可以覆盖这个函数的实现。这样,通过基类指针或引用调用这个函数时,会根据实际指向的对象类型调用相应的函数版本,而不是固定的基类版本。
2. 访问控制:C++提供了三种访问控制级别:public、private和protected。`protected`成员可以被类的成员函数、友元以及派生类的成员(非友元)访问,但不能被类的普通用户直接访问。与之相比,`private`成员仅能被类内部的成员函数和友元访问,派生类无法直接访问。
3. 定义类`Item_base`:这个例子展示了如何定义一个简单的类`Item_base`,它有一个构造函数、一个公有的数据成员`isbn`、一个受保护的数据成员`price`,以及一个虚函数`net_price`。虚函数允许派生类重写其行为。
4. `Library`类设计:`Library`类代表了一个图书馆系统,其中的`check_out`、`check_in`、`is_late`和`apply_fine`函数应声明为虚函数,因为它们的具体实现可能因不同类型的借阅资料(如书、CD、DVD)而异。这些函数提供了对不同资料的操作,而`print`函数可能需要打印不同类型的资料信息,因此也应该声明为虚函数。其他如`due_date`、`date_borrowed`、`title`和`member`函数具有通用性,所以它们应该是公共的。
5. 类声明错误:在C++中,(a) `Derived`不能继承自己,这是错误的;(b) 正确的继承语法是`class Derived : Base {...}`;(c) `Private`不是C++的关键字,正确的访问修饰符是`private`;(d) 声明类时,派生列表后面需要跟花括号来定义类体;(e) `inherits`不是C++中的关键字,应该是`public`、`private`或`protected`。
面向对象编程的核心在于封装、继承和多态。封装使得数据和操作数据的方法紧密结合,隐藏实现细节。继承允许创建新的类(派生类)来扩展或修改已存在的类(基类)的功能。多态则通过虚函数实现,使得基类接口可以在派生类中有不同的实现,提高了代码的灵活性和可扩展性。在设计类时,应根据需求合理选择访问控制,以及确定哪些函数需要声明为虚函数,以便于实现多态。
309 浏览量
1196 浏览量
1491 浏览量
点击了解资源详情
346 浏览量
340 浏览量
点击了解资源详情
点击了解资源详情
150 浏览量
杨_明
- 粉丝: 80
- 资源: 3862
最新资源
- zabaatLib:vvolfster的QML Qt UI和应用程序库
- proposal-array-equality:确定数组相等
- SQLite v3.28.0
- jQuery css3图标动画鼠标滑过图标旋转动画特效
- vecel-antenna
- MP3格式万能转换器任何音频均可自由切换格式
- 黑马瑞吉外卖源码及工程项目全套
- Foodfy-database:Persistindo dados daaplicaçãoFoodfy
- 展示::framed_picture:课程中展示的最佳学生作品展示
- Open Virtual Reality 'L'-开源
- 影响matlab速度的代码-table-testing:表达式矩阵文件格式的要求,示例和测试
- 行业文档-设计装置-饲料用缓释型复方甜菊糖微囊的制备方法.zip
- RedisSubscribeServer.zip
- Wireshark-win32-1.8.4
- C# winform设计 钉钉 微信 二维码 扫码登录登录客户端 源码文件 CS架构
- Martin_Barroso_P2:RISCV Multiciclo con UART para corrercódigo阶乘