C++
文章平均质量分 90
Akiiiira
某不入流大学电子专业的大一菜鸡(有资源需求请直接加作者QQ2938554814,备注需求资源即可,CSDN上没法上传免费下载的资源,实属抱歉)
展开
-
【C++】附录:魔兽世界大作业
学生在完成作业的过程中能够体会到面向对象的程序设计方法在提高程序可扩充性方面的作用。要让初学者在实践中应用 C++ 的各种面向对象的特性,考虑如何设计多个类并且处理它们之间的关系,从而领悟到面向对象程序设计的优越性,掌握面向对象程序设计的基本思想,没有一个足够大的编程任务作为作业,是很困难的。对 C++ 的初学者来说,是不可能完成的任务。所以,如何设计一个足够大、有意思,能充分体现面向对象程序设计方法相对结构化程序设计方法的优势,而且 C++ 的初学者有能力完成的大作业,是C++教学中需要解决的重要问题。原创 2023-07-27 11:56:13 · 1294 阅读 · 1 评论 -
【C++】第11章 C++高级主题
如果采用 C 语言的老式做法,要在程序中找出所有进行了强制类型转换的地方,显然是很麻烦的,因为这些转换没有统一的格式。例如,将 int 强制转换成 double 是没风险的,将常量指针转换成非常量指针、把基类指针转换成派生类指针都是高风险的,而且后两者带来的风险不同(即可能引发不同种类的错误),C语言的强制类型转换形式对这些不同并不加以区分。例如,把整型数值转换成指针,把基类指针转换成派生类指针,把一种函数指针转换成另一种函数指针,把常量指针转换成非常量指针等,都存在安全隐患。原创 2023-07-23 11:20:33 · 118 阅读 · 1 评论 -
【C++】第10章 标准模板库
C++语言的核心优势之一就是便于软件的重用。C++中有两个方面体现重用:一是面对象的继承和多态机制;二是通过模板的概念实现了对泛型程序设计的支持。C++的标准模板库(Template Library,STL)是泛型程序设计最成功应用的实例。STL是一些常用数据结构(如链表、可变长数组、排序二叉树)和算法(如排序、查找)的模板的集合,主要由 Alex Stepanov 主持开发,于 1998 年被加人C++标准。有了 STL,程序员就不必编写大多数常用的数据的数据结构和算法。而且 STL原创 2023-07-07 22:59:54 · 292 阅读 · 1 评论 -
【C++】第9章 泛型程序设计与模板
泛型程序设计是一种算法在实现时不指定具体要操作的数据的类型的程序设计方法。所谓 “泛型”,指的是算法只要实现一遍,就能适用于多种数据类型。泛型程序设计方法的优势在于能欧减少重复代码的编写。泛型程序设计的概念最早出现于 1983 年的 Ada 语言,其最成功的应用就是C++的标准模板库(STL)。也可以说,泛型程序设计就是大量编写模板、使用模板的程序设计。泛型程序设计在C++中的重要性和带来的好处不亚于面向对象的特性。在C++中,模板分为函数模板和类模板两种。原创 2023-07-06 23:37:36 · 56 阅读 · 1 评论 -
【C++】第8章 文件操作
内存中存放的数据在计算机关机后就会消失。要长久保存数据,就要使用硬盘、光盘、U盘等设备。为了便于数据的管理和检索,引人了 “文件” 的概念。一篇文章、一段视频、一个可执行程序,都可以被保存为一个文件,并赋予一个文件名。操作系统以文件为单位管理磁盘中的数据。成千上万个文件如果不加分类放在一起,用户使用起来显然非常不便,因此又引人了树形目录(目录也叫文件夹)的机制,可以把文件放在不同的文件夹中,文件夹中还可以嵌套文件夹,这就便于用户对文件进行管理和使用,正如 Windows 的资源管理器呈现的那样。原创 2023-07-04 23:03:14 · 123 阅读 · 0 评论 -
【C++】第7章 输入输出流
程序中常用的cin和cout,分别用于从键盘输入数据和向屏幕输出数据(简称为标准 I/O)。除此之外,程序还可以从文件中读入数据,以及向文件中写入数据(简称为文件 I/O)。数据输入和输出的过程也是数据传输的过程,数据像水一样从一个地方流动到另一个地方,因此,在C++中将此过程称为 “流”。在C++的标准类库中,将用于进行数据输入输出的类统称为 “流类”。cin 是流类 istream 的对象,cout 是流类 ostream 的对象。要使用流类,需要在程序中包含 iostream 头文件。原创 2023-07-02 23:14:44 · 182 阅读 · 1 评论 -
【C++】第6章 多态与虚函数
面向对象程序设计语言有封装、继承和多态三种机制,这三种机制能够有效提高程序的可读性、可扩充性和可重用性。“多态” 指的是同一名字的实物可以完成不同的功能。多态可以分为编译时的多态和运行时的多态。前者主要是指函数的重载(包括运算符的重载)、对重载函数的调用,在编译时就能根据实参确定应该调用哪个函数,因此叫编译时的多态;而后者则和继承、虚函数等概念有关。原创 2023-07-02 22:36:27 · 86 阅读 · 1 评论 -
【C++】第5章 继承与派生
第56行及其后的几行输出是为了说明派生类对象占用的存储空间大小等于基类对象占用的存储空间大小加上派生类新增成员变量占用的存储空间大小。第56行输出 “sizeof (string)=4" ,是用 Dev C ++编译后程序的输出结果。如果用 Visual Studio 2010编译, 输出结果会是“sizeof(string)=32”。这是由于不同的编译器所提供的类库对于 string 类有不同的实现方法,因此sizeof(string)在不同编译器上的值是不同的。原创 2023-07-01 17:10:14 · 113 阅读 · 0 评论 -
【C++】第4章 运算符重载
如果不做特殊处理,C++的 “+” 、 “-” 、 “*” 、 “/” 等运算符还能用于对基本类型的常量或者变量进行运算,不能用于对象之间的运算。有时候希望对象之间也能用这些运算符进行运算,以达到使程序更简洁、易懂的目的。例如分数、复数的计算。利用C++提供的“运算符重载”机制,赋予运算符新的功能,就能解决例如用“+”将两个复数对象相加这样的问题。运算符重载,就是对已有的运算符赋予多重含义,使同一运算符作用于不同类型的数据时产生不同的行为。运算符重载的目的是使得C++中的运算符也能够用来操作对象。原创 2023-06-29 23:04:47 · 270 阅读 · 1 评论 -
【C++】第3章 类和对象进阶
面向对象的程序设计语言倾向于对象一定要经过初始化后,使用起来才比较安全。因此,引入了“构造函数”的概念,用于对对象进行自动初始化。在C++语言中,“构造函数”就是一类特殊的成员函数,其名字和类的名字一样,不写返回值类型(void也不写),可以重载,即虽然该无参构造函数什么都不作。无参构造函数,不论是编译器自动生成的,还是程序员写的,都称为“默认构造函数”。如果编写了构造函数,那么编译器就不会自动生成默认构造函数。构造函数是可以重载的,即可以写多个构造函数,它们的参数表不同。原创 2023-06-28 13:57:14 · 84 阅读 · 1 评论 -
【C++】第2章 类和对象初步
在C++中,类的定义方法如下:class 类名{访问范围说明符:成员变量1成员变量2...成员函数声明1成员函数声明2访问范围说明符:更多成员变量更多成员函数声明...类的定义要以";"结束。“范围访问说明符”一共有三种:public、private和protected。“范围访问说明符”可以出现任意多次。“成员变量”的写法与普通的变量定义相同。称其为成员变量,是因为这些变量是一个类的成员。同样的,“成员函数声明”的写法也与普通的函数声明相同。原创 2023-06-27 23:12:52 · 69 阅读 · 1 评论 -
【C++】第1章 从C到C++
例如,int(3.5)、double(2)、double(a)等看起来像函数调用,比C语言中(int)3.5、(double)a的写法更清晰。在C++中,声明一个函数时,可以为函数的参数指定默认值。一些C语言中常用的头文件在C++中的名字变为去掉“.h”,并在开头增加字符c。cin >> “待输入项1” >> “待输入项2” >> ...;cout原创 2023-06-26 16:26:09 · 95 阅读 · 1 评论 -
【C++】第零章 前言
学校的C++教学质量令人堪忧,C++是为了编写大型程序而设计的,但是学校的教学仅仅局限于C++的基本应用,甚至对于C++的核心库STL都不作任何讲解,对于致力于成为硬软双修的电子专业学生来说,这样的教学很难说是成功的。所以出于对自己负责的态度,作者认为需要更深入的学习,本专题下的博文皆为学习笔记,主要是给自己看,如有错误,敬请指出。第三章 C++高级主题:涉及异常处理、C++风格的强制类型转换等C++语言中比较深入的内容,以及C++11标准引入的几个新特性。一、本博文的写作背景。二、本博文的参考资料。原创 2023-06-26 15:44:08 · 165 阅读 · 1 评论