C++实现学生通讯录类
需积分: 14 33 浏览量
更新于2024-09-18
收藏 120KB DOC 举报
"本资源提供了一个C++实现的学生通讯录类的示例,包含学号、姓名、院系、通讯地址和电话等数据成员,并有相应的成员函数用于输出和设置这些信息。"
在C++编程中,类是组织数据和操作数据的方法,它允许我们定义自定义的数据类型。在这个例子中,我们定义了一个名为`CStudent`的类,用来表示学生通讯录中的一个条目。这个类包含了以下数据成员:
1. `int number`: 学号,用于唯一标识每个学生。在这里使用了整型变量`int`来存储。
2. `char* p_name`: 姓名,使用指向字符的指针来存储字符串。这是因为C++标准库中的`string`类型在早期版本中并未被广泛使用,所以这里使用了C风格的字符串处理。
3. `char* p_school`: 院系,同样使用指向字符的指针来存储。
4. `char* p_address`: 通讯地址,同样使用指针存储。
5. `char tel[15]`: 电话,由于电话号码长度有限,使用固定大小的字符数组来存储。
除了数据成员,`CStudent`类还定义了一些成员函数,用于操作这些数据:
- `void show()`: 输出数据成员的值,通过调用`get`系列函数获取每个数据成员的值并显示在控制台上。
- `CStudent(int un, char* pn, char* ps, char* pa, char tel[])`: 构造函数,用于初始化一个新的`CStudent`对象。接受学号、姓名、院系、地址和电话作为参数,并使用`set`系列函数设置这些值。
- `void setname(char* name)`: 设置学生的姓名,首先申请足够大的内存来存储新名字,然后使用`strcpy`复制传入的名字到`p_name`所指向的位置。
- `void setnumber(int nu)`: 直接将传入的学号赋值给`number`。
- `void setschool(char* school)`: 类似地,为院系分配内存并复制传入的院系名称。
- `void setaddress(char* address)`: 设置通讯地址,分配内存并复制传入的地址。
- `void settel(char tel[])`: 将电话号码复制到`tel`数组中。
这样的设计使得我们可以方便地创建和管理学生通讯录,同时通过成员函数来保护数据成员不被直接访问,提高了代码的安全性和封装性。在实际应用中,可能还需要添加更多的功能,如添加、删除学生条目,搜索学生信息等。同时,为了防止内存泄漏,记得在不再需要这些动态分配的字符串时释放内存,这可以通过在类中添加析构函数或者使用智能指针来实现。
2018-05-09 上传
2024-10-12 上传
2011-11-07 上传
2008-12-31 上传
2022-07-12 上传
2012-04-02 上传
2010-07-11 上传
Mr_just
- 粉丝: 34
- 资源: 14
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码