头文件与类的声明

这篇博客探讨了C与C++在数据和函数组织上的差异,强调了C++中类的概念,如何通过类来封装数据和函数,提高安全性。内容涵盖了C++代码的基本格式,头文件的使用,包括防卫式声明避免多重包含的问题。此外,还介绍了类的声明,类头与类体的构成,以及成员函数的内联和访问控制关键字的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

头文件与类的声明

1、C与C++的数据和函数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bWn7Y6fD-1620554012233)(关于数据和函数.png)]

我们先来看一下在数据和函数的组织上,C和C++有什么异同。

如上图所示,在C语言中,我们首先拥有一个数据Data,然后会有处理数据的函数Function。这里会产生一个问题:理论上来讲,只要你的函数规定的功能足够多,对于任何数据都可以使用我们这里所规定的函数Function来处理。毫无疑问,这是会对数据的安全性,以及我们所希望的函数“专门专用”的性质所相违背的。因此,我们在C++中就会引入这样的方法:我们规定一个类(class),在这个类中,我们有数据成员和函数成员。函数成员专门处理这个类中的数据成员,这样就可以对我们上述所提到的C语言的弊端有着很好的改进。

在这篇之后的笔记中,我们会尝试着实现两个类:一个类是包含指针的,就是string字符串类;一个类是不包含指针的,就是complex复数类。这两个类有着比较大的区别,例如在string类中,我们会需要一个析构函数;而在complex类中,大多数情况下我们不需要析构函数。

2、C++代码基本格式,以及C++中头文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5jljQWIR-1620554012234)(C++代码基本格式.png)]

如上图所示,在C++中,代码通常由两部分组成:.cpp文件,以及.h文件。这其中,.h文件通常包含着C++类的声明(Classes Declaration),.cpp文件可以包含类的实现,也可以包含主函数等。

而对于.h文件,我们也要分为两类:第一类,是我们自己定义的头文件;第二类,是标准库提供给我们使用的头文件。

在使用中,自己定义的头文件通常使用双引号""包含起来,而引用标准库头文件时,需要使用尖括号<>包含起来。

那么,在具体使用头文件的时候,也有一个要点要注意,即所谓的“防卫式声明”(guard)。这是为了避免多重包含。

什么是多重包含呢?譬如说,我们在文件中需要引用a.h和b.h,a.h也引用了b.h。这样一来,我们在引用b.h和a.h的时候,就会重复地引用b.h两次,从而造成了多重定义的错误。因此,我们需要在代码里这样写:

//A.h头文件
#ifndef __A__
#define __A__
...//代码段
#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值