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_Hclass 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)

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

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

  1. C语言小白学习积累篇(一)

    @TOC C语言小白学习积累篇(一) 你好! 这是我在学习过程中遇到的问题,如果你也是零基础学习C语言,希望这篇文章能对你有所帮助..大佬们看看笑一笑就好. 报错类型 C语言真的很严格,它不像pyth ...

  2. c语言和c++还有java_C语言和Java的区别_JAVA和C++的核心区别

    C语言和Java作为编程界的两大编程语言,两者之间,有联系又有区别.下面学习啦小编带你去了解一下JAVA和C++的核心区别吧. C语言和Java的区别 A.在继承中的区别 C语言是多线继承,比如:小轿 ...

  3. c语言和python的区别

    c语言和python的区别 1.语言类型不同. Python是一种动态类型语言,又是强类型语言.它们确定一个变量的类型是在您第一次给它赋值的时候.C 是静态类型语言,一种在编译期间就确定数据类型的语言 ...

  4. r语言和python的区别_c语言和python的区别

    c语言和python的区别 1.语言类型不同. Python是一种动态类型语言,又是强类型语言.它们确定一个变量的类型是在您第一次给它赋值的时候.C 是静态类型语言,一种在编译期间就确定数据类型的语言 ...

  5. c语言和java的区别_C语言和Java的区别有哪些

    C语言和Java的区别有哪些 作为编程界的两大编程语言-C语言和Java,它们之间有什么不同呢?下面小编给大家整理了C语言和Java的区别,供大家参阅. 1.C语言 C语言是一门通用计算机编程语言,应 ...

  6. [Django]模型学习记录篇--基础

    模型学习记录篇,仅仅自己学习时做的记录!!! 实现模型变更的三个步骤: 修改你的模型(在models.py文件中). 运行python manage.py makemigrations ,为这些修改创 ...

  7. Matlab——学习记录篇1番外篇——hold on与hold off的区别

    重点重点!!!!!!!本人使用的Matlab版本是R2021b,如果下面代码在别的版本运行之后有bug显示的话,需要自己到百度寻找相应的函数把错误的地方替换 继上一篇学习记录篇1,编程的时候一直对ho ...

  8. JS中的函数概念和C语言的概念是类似的,c语言和JavaScript的区别有哪些?

    c语言和JavaScript在语法结构上有很多相似(例如if条件语句.while循环.switch语句.do-while循环等),那么它们之间有什么不同?下面本篇文章就来给大家介绍一下c语言和Java ...

  9. R语言和Hadoop系统架构在大数据分析中的应用

    也许正在喝着咖啡的你,看着阳光从玻璃窗蹦进来,回忆近日的美好,惬意的享受这个"温暖"的暑假.而SupStat已经为你准备了一份暑期数据盛宴. R是什么?               ...

最新文章

  1. Linux指令--文件和目录属性
  2. 2021年春季学期-信号与系统-第一次作业参考答案-第五题
  3. ORACLE 导空表结构
  4. linux mysql无符号整型_Mysql基础
  5. BZOJ1720: [Usaco2006 Jan]Corral the Cows 奶牛围栏
  6. mkcramfs 命令学习
  7. STL中 set 和 multiset
  8. 2021-10-28 python爬虫学习
  9. 物联网通信之Coap 协议
  10. Open3d之点云全局配准
  11. 碧海威 L7多款产品 后台命令执行漏洞
  12. NVMe Driver 需要装吗_厨房里的油烟很少,需要装油烟净化器吗?装哪种的比较好?...
  13. 【RDMA】技术详解(四):RDMA之Verbs和编程步骤
  14. 糖尿病性视网膜病变分级诊断
  15. 第二十九章、containers容器类部件QFrame框架部件详解
  16. 微信定向流量_中国移动终于投诚了!微信惊现10G流量包,只要10元?
  17. 计算机病毒占内存吗,蠕虫病毒占多少内存
  18. 云诊所管理系统(联合诊疗)支持远程高清视频会诊
  19. 阿拉德之怒显示服务器错误,阿拉德之怒无法进入游戏怎么办_阿拉德之怒无法进入游戏解决方法_快吧手游...
  20. 映客前端面经(已经oc)

热门文章

  1. 这一周 火火火 的 GitHub 项目
  2. 2022-2028年中国保健食品行业市场运营格局及前景战略分析报告
  3. dbeave 安装驱动网络问题失败
  4. DCS任务编辑器文件无法正常加载,一直停在‘正在读取。。’
  5. 他是阿里顶尖科学家,扛起国产分布式数据库大旗,性能超Oralce 20倍!
  6. Unity全面入门笔记6-常用数学类型
  7. 桥接PyTorch和TVM
  8. ZBrush笔刷属性栏简介
  9. Python将经纬度数据转换成浮点数据
  10. laravel详情页