小白学习记录篇01---C语言和C++的区别以及C语言中文件的含义(不足之处欢迎大佬补充提醒。)

1.C语言和C++的对比

(1)创建文件的后缀名不同,如果创建C语言的文件通常以.c结尾,而C++通常以.cpp结尾。

<1>这里就想要补充两个文件的概念,什么是.c文件?什么是.cpp文件?什么是.h文件?

头文件(.h):

    写类的声明(包括类里面的成员和方法的声明)、函数原型、#define常数等,但一般来说不写出具体的实现。

源文件(.cpp):

    源文件主要写实现头文件中已经声明的那些函数的具体代码。需要注意的是,开头必须#include一下实现的头文件,以及要用到的头文件。那么当你需要用到自己写的头文件中的类时,只需要#include进来就行了。

.h和.cpp文件的搭配这里搬运一下的例子(很详细的介绍了.h和.cpp的关系,忘了可以去看下)C++中头文件(.h)和源文件(.cpp)分别有什么用_Yi Sun的博客-CSDN博客

下面举个最简单的例子来描述一下,咱就求个圆面积。

     第1步,建立一个空工程(以在VS2019环境下为例)。

     第2步,在头文件的文件夹里新建一个名为Circle.h的头文件,它的内容如下:

(不清楚什么是define,预编译的时候,看下#define用法,C语言#define详解

#pragma once
#ifndef CIRCLE_H
#define CIRCLE_H

class Circle
{
private:
    double r;//半径
public:
    Circle();//构造函数
    Circle(double R);//构造函数
    double Area();//求面积函数
};

#endif

 注意到开头结尾的预编译语句。在头文件里,并不写出函数的具体实现。

第3步,要给出Circle类的具体实现,因此,在源文件夹里新建一个Circle.cpp的文件,它的内容如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include "Circle.h"

Circle::Circle()
{
    this->r = 5.0;
}

Circle::Circle(double R)
{
    this->r = R;
}

double Circle::Area()
{
    return 3.14 * r * r;
}

 需要注意的是:开头处包含了Circle.h,事实上,只要此cpp文件用到的文件,都要包含进来!这个文件的名字其实不一定要叫Circle.cpp,但非常建议cpp文件与头文件相对应。就相当于你要吃饭了,但是没有餐具。而前面的#include"Circle.h"就是可以让你领一套准备好的餐具直接用,所以.cpp文件和.h文件是相互搭配使用的。

最后,我们建一个main.cpp来测试我们写的Circle类,它的内容如下: 

#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include "Circle.h"
using namespace std;

int main()
{
    Circle c(3);
    cout << "Area=" << c.Area() << endl;
    return 1;
}

 运行main.cpp后成功了,说明可以使用。(只是体会下两者的关系,小白还没学到那么深的项目。)

相信到这,你已经明白两者的关系了。

(接下来继续C语言和C++的对比了)

(2)默认返回值不同。如果一个函数没有指定返回值,则C语言默认返回int类型,C++默认返回void类型。默认参数列表不同。在没有指定参数列表时,C语言默认可接收任意多个参数,C++默认为void,不接收任何类型的参数 (现在暂时只能理解成int为有参,需要return返回值,而void无参,不需要返回。)

(3) 最重要的是解决问题的思想和方法不一样,C语言是面向过程的,C++是面向对象的。(面向对象和面向过程不会区分的看这个视频https://www.bilibili.com/video/BV1mi4y1579d?from=search&seid=17644125362025833112&spm_id_from=333.337.0.0)

这篇记录继续学习后,还会更新新的内容......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值