C/C++教程

C++候捷课程笔记与补充(学习至02头文件与类的声明)

本文主要是介绍C++候捷课程笔记与补充(学习至02头文件与类的声明),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、 c++编程简介

你需要的基础:
变量(variables)
类型(types):int,float,char,struct
作用域(scope)
循环(loops):while,for
流程控制:if-else,switch-case

我们的目标:
在这里插入图片描述
在C++中,我们通过定义一个类(class)来定义自己的数据结构。一个类定义了一个类型,以及与其关联的一组操作。
C++中每一个单元就是class,其中class的经典分类:带有指针的和不带指针的。
对于单一的class的设计叫做Object Based(基于对象)。
对于多个class且之间classes具有关联就可以叫做Object Oriented(面向对象)。

2.头文件与类的声明

在这里插入图片描述
在C语言中,会准备数据和函数(用于处理数据),缺点是由于语言没有提供足够的关键字,数据是全局的。
在C++中,把数据和处理数据的函数包在一起作为class,这个数据只有这个函数可以处理它。class其实是C中的struct结构,只不过C++提供了更多关键字,具有了更多的特性。以class为类型创建出对象来使用。
在这里插入图片描述
经典的两个class分类:
一个不带有指针的:例如complex
复数具有实部和虚部,在内存中占用也具有实部和虚部,同时也要设计复数的处理函数,数据有很多份,但是函数只有一份。
一个带有指针的:例如string
字符串其实是一根指针,指向了另外放了我们需要的内容。
在这里插入图片描述
C++程序代码的基本形式:
头文件
主程序:主程序通过include方式引用头文件/标准库(标准库用< >,自己写的用“ ”)
标准库:以头文件形式存在
在这里插入图片描述
C++的输出:
<< 就像把东西往左边丢到c out

在这里插入图片描述
头文件中防卫式声明:要写一个防卫式声明(guard),先定义一个新名称。#ifndef是一条预处理指令,用于判断给定的变量是否尚未定义。#define是一条预处理指令,用于定义一个预处理变量。#endif是一条预处理指令,用于结束一个#ifdef或#ifndef区域。

在这里插入图片描述
头文件的布局:
内容0首先前置声明
内容1中写你要写的复数的声明
内容2写定义

在这里插入图片描述
class的声明:
在body部分需要设计复数需要什么数据和函数才能满足需求。
在这里插入图片描述
class template(模板)简介:
在复数中决定了实部虚部是一个double类型,若另外一个复数的类型是整数或者浮点数,此时只好再写一个class,在C++中就导入了一个模板。如果实参的类型不同,我们可以编写一种特殊的函数,也就是所谓的可变参数模板。用template< typename T>来告诉编译器T是一种未定的类型。在使用中用complex<>尖括号中来定义类型。

这篇关于C++候捷课程笔记与补充(学习至02头文件与类的声明)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!