C++程序设计:类的定义与Student类示例
需积分: 9 200 浏览量
更新于2024-08-23
收藏 8.66MB PPT 举报
C++程序设计,类的定义格式,谭浩强,Student类
在C++程序设计中,类(Class)是面向对象编程的核心概念,用于封装数据和操作这些数据的方法。类的定义格式规范了类的内部结构,包括成员数据和成员函数的访问权限。谭浩强编著的《C++程序设计》详细介绍了这一概念。
类的定义通常以`class`关键字开始,接着是类名,然后是一系列的成员声明,最后以分号结束。成员可以分为三类访问修饰符:
1. **私有(private)**:私有成员是类的内部数据,对外部代码隐藏,不能直接访问。例如,在`Student`类中,`Name`、`Math`和`Chinese`是私有成员,表示学生的姓名、数学成绩和语文成绩。
```cpp
private :
char Name[20];
float Math;
float Chinese;
```
2. **公有(public)**:公有成员允许外界无限制地访问。`average`是公有成员,表示学生的平均成绩。此外,`SetName`、`SetMath`、`SetChinese`和`GetAverage`是公有成员函数,分别用于设置和获取学生的信息。
```cpp
public :
float average;
void SetName(char *name);
void SetMath(float math);
void SetChinese(float ch);
float GetAverage(void);
```
3. **保护(protected)**:保护成员在类的子类中可见,但在类外部不可直接访问。虽然例子中没有展示,但这是一个重要的访问级别,常用于继承。
每个类的定义必须以分号`;`结束,这是C++语法的一部分。在定义类之后,可以创建类的实例(对象),并通过公有成员函数操作对象。
C++的发展历程始于早期的BCPL和B语言,最终由Dennis Ritchie和Brian Kernighan设计出C语言。C++是由Bjarne Stroustrup在C语言基础上扩展的,引入了面向对象编程的概念,如类、对象、继承、多态和封装等。C++的设计目标是提供高级语言的抽象性和低级语言的效率。
C++语言的特点包括:
1. **结构化**:C++支持结构化编程,使代码更清晰、易于理解和维护。
2. **混合级语言**:C++结合了高级语言和汇编语言的特性,提供丰富的运算符和直接的内存操作。
3. **可移植性**:C++编写的程序可以在多种平台上运行,只需少量或无需修改。
4. **灵活性**:语法结构相对宽松,允许程序员自由设计程序结构,但也增加了学习和调试的难度。
对于初学者,理解和熟练使用C++可能有一定挑战,但一旦掌握,就能编写出高效且通用的程序。调试C++程序可能需要借助调试器和其他工具,因为语法的灵活性可能导致编译时不易发现的错误。不过,随着经验的积累,编写和调试C++程序会变得更加得心应手。
2019-01-16 上传
2014-03-28 上传
点击了解资源详情
2021-12-06 上传
2014-04-10 上传
406 浏览量
2022-11-15 上传
点击了解资源详情
点击了解资源详情
无不散席
- 粉丝: 32
- 资源: 2万+
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析