自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 算术运算符重载——返回const对象的普通函数重载算术运算符

任务描述本关与第一关一模一样,只是运算符重载的返回类型使用了 const 作为修饰。至于为什么要使用 const 修饰,留给大家自行查找原因。原则上,像算术运算符这样的运算符重载,倾向于使用普通函数进行重载。相关知识为什么算术运算符重载的返回类型要使用 const 修饰呢?因为如果不使用 const 修饰,如下代码就有可能通过编译。 Int a,b,c;a + b = c; 如上代码通过编译会造成什么后果呢?什么后果也没有。但是再进一步就有可能了。 if ( a + b

2022-05-01 12:09:26 2114

原创 算术运算符重载——成员函数重载算术运算符

任务描述Int 类所保存的内容显然是可以进行算术运算的,因此对 Int 类进行算术运算符重载是一件非常自然的事情。为 Int 类重载算术运算符,以成员函数的形式。相关知识算术运算符既可以以成员函数形式重载,也可以以普通函数形式重载。出于某种“对称性”的考虑,一般习惯使用普通函数来重载算术运算符。需要注意的是,二者取其一。即如果以成员函数形式重载了算术运算符,就不要再以普通函数重载(相同参数的)。反之,亦然。编程要求根据提示,在右侧编辑器的Begin-End区域内补充代码。测试说

2022-05-01 12:09:22 3528

原创 算术运算符重载——普通函数重载算术运算符

任务描述Int 类所保存的内容显然是可以进行算术运算的,因此对 Int 类进行算术运算符重载是一件非常自然的事情。为 Int 类重载算术运算符,以普通函数的形式。相关知识运算符重载,相当于一个固定了函数名的函数。以重载加号运算符为例,其函数名就是operator + 运算符重载不能改变运算符的优先级与结合性,本质上也不能改变参数的数量(即双目运算符重载,必须拥有 2 个形参)。但是,如果以成员函数进行重载,则参数数量需要减一。减掉的那个参数,实际上就是调用该运算符时的类对象。

2022-05-01 12:09:13 4618

原创 链表类模板的实现

任务描述本关任务:实现双向链表类模板。相关知识为了完成本关任务,你需要掌握:1.复习C语言链表的实现。2.对链表的数据属性和功能进行封装。3.利用模板实现数据类型的参数化。主程序main()中定义通用算法如下: template<class Iterator> //在指定范围内输出元素void display(Iterator first, Iterator last){for (; first != last; ++first)cout << *fir

2022-05-01 12:09:08 586

原创 向量类模板的实现

任务描述向量类模板的实现。相关知识为了完成本关任务,你需要:1.理解STL中容器的概念。2.数组的基本操作。如数组元素的随机访问、基于指针的元素的插入、基于指针的元素的删除。3.理解迭代器的概念,如何针对不同的容器实现其迭代器。4.基于函数模板的通用算法的实现。编程要求根据提示,在右侧编辑器补充代码,完成向量类模板的成员函数的功能。测试说明平台会对你编写的代码进行测试:测试输入:无;预期输出:The original numbers are:0 1 2 3 4

2022-05-01 12:09:01 497

原创 对象与函数——类对象作为输出参数

任务描述编写 2 个函数,分别是 add 与 mul,分别完成 Int 的加法操作与乘法操作。这个 2 个函数均为 void 类型,拥有 3 个参数。其中前 2 个是输入参数,最后 1 个是输出参数。相关知识上一关提到过,类对象作为参数可以使用引用提高效率,但是类对象作为函数返回值,则无法保证一定可以使用引用。不使用引用直接返回,效率上就会有所影响,特别是类本身非常复杂的情况下。有另外一种办法,既可以提高效率,又能够“返回”类对象。这就是使用输出参数。以 add 函数为例,普通的 add 函

2022-05-01 12:08:48 4008 6

原创 对象与函数——类对象作为函数形参

任务描述编写一个 output 函数,以 Int 的常引用作为形参,其功能是输出形参的成员变量的值。输出为一行。相关知识类对象作为形参,本质上与基本类型作为形参并无区别。但是考虑到普通类型作为形参,使用的是值传递,也就是将实参值拷贝一份给形参。如果是类对象的话,此时将会调用一个拷贝构造函数。也就是以实参为参数拷贝构造形参。如果类对象本身特别复杂,这个拷贝过程显然也会更加耗时,如此便会降低程序运行的效率。 class T{public:T(){}T(const T&rhs)

2022-04-30 09:29:35 7270

原创 静态成员 —— 模拟共享书店

任务描述本关任务:假设有一个这样的共享书店,当客户进入书店时需要托管一定数量的书籍,而这些书籍将被书店内所有用户共享,当客户离开书店时,他便会把之前进入书店托管的书一起带走。现请你编写代码设计这个共享书店。相关知识对象的内存中包含了成员变量,不同的对象占用不同的内存,这使得不同对象的成员变量相互独立,它们的值不受其他对象的影响。例如有两个相同类型的对象 a、b,它们都有一个成员变量 name,那么修改 a 对象的 name 值不会影响 b 中的 name 值。可是有时候我们希望在多个对象之间

2022-04-30 09:22:16 2114 1

原创 对象数组 —— 学生信息表

任务描述本关任务:编写一个能管理多条学生信息的程序。相关知识为了完成本关任务,你需要掌握构造函数与析构函数的调用和对象数组的使用。构造函数与析构函数的调用构造函数不能直接调用,只能通过声明一个对象或者使用new 运算符动态创建对象时由系统自动调用。例如: class Test{public:int A;Test();Test(int a);};/* 此处省略定义构造函数部分 */int main(){Test t; // 调用无参构造函数Test t2

2022-04-30 09:17:32 1764 1

原创 构造函数 —— 学生信息类

任务描述本关任务:设计一个带有构造函数和析构函数的学生类。相关知识构造函数、析构函数与赋值函数是每个类最基本的函数。他们太普通以致让人容易麻痹大意,其实这些貌似简单的函数在使用时要特别注意以免造成不必要资源浪费和产生意想不到的错误。每个类只有一个析构函数和一个赋值函数,但是可以有多个构造函数(包含一个拷贝构造函数,其他的成为普通构造函数)。下面我们就一起来学习构造函数和析构函数的基本使用。构造函数所谓构造函数,就是在对象构造的时候调用的函数。构造函数是一种特殊的成员函数,它主要用

2022-04-30 09:14:52 2756

原创 封装——为成员变量提供存取函数_GoogleC++风格命名

任务描述本关有一个未完成的类 Int,该类含有一个成员变量,请为该成员变量编写存取函数。存取函数以 Google C++ 风格命名,具体请参考主函数中的代码。相关知识封装是面向对象的特性之一。当类的成员设置为 private 之后,为了在类外访问该成员,必须提供存取函数。C++ 并没有一个广泛统一的存取函数的命名风格。各大公司都有一些相应的规范。Google 在其 C++ 开源项目中,提倡如下的命名规范。如果类成员需要用单词 something 来描述,则该成员命名为 something_(注

2022-04-30 00:32:05 3436

原创 封装——为成员变量提供存取函数_Java风格命名

任务描述本关有一个未完成的类 Int,该类含有一个成员变量,请为该成员变量编写存取函数。存取函数以 Java 风格命名,具体请参考主函数中的代码。相关知识封装是面向对象的特性之一。当类的成员设置为 private 之后,为了在类外访问该成员,必须提供存取函数。Java 的存取方法有固定的命名方式。假设类的成员名为 something,则取方法的方法名为 getSomething,存方法的方法名为 setSomething。 所以 Java API 中有大量的以 get 和 set 开头的方法。

2022-04-30 00:29:49 2587

原创 类和对象的创建和使用——设计汽车类

任务描述本关任务:设计一个汽车类,并实现它的基本功能。相关知识完成本关需要具备的知识介绍请参见第一、二关卡。编程要求在右侧编辑器中的Begin-End之间补充代码,设计汽车类实现汽车的基本功能,根据输入的命令来输出汽车的整体状态。具体要求如下: 成员变量:车门,车灯,速度(类型以及变量名均自拟)。 成员函数:打开车门、关闭车门、打开车灯、关闭车灯、加速、减速。(学员可以根据自己情况增加或者减少函数) 其中打开车门、关闭车门、打开车灯、关闭车灯四个函数,用于改变对象内部

2022-04-30 00:24:28 1347

原创 类和对象的创建和使用——设计一个长方形类

设计一个长方形类

2022-04-30 00:22:19 2187

原创 类和对象的创建和使用——设计一个学生信息类

设计一个学生信息类

2022-04-30 00:14:40 2067

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除