
c++
文章平均质量分 55
c++
山海皆可平q
惟愿最后的终点配得上这一路的颠沛流离
展开
-
从一个简单的例子来看map容器使用自定义数据类型的注意事项
map和set容器和vector等一些容器有所不同,他们会按照key自动排序,这样很方便,但也出现了一个问题,如果使用自定义数据类型作为key值的话,你还不自己写一个排序方式,编译器不知道怎么排序,就会报错比如下面的例子#include<iostream>using namespace std;#include<map>class Person{public: Person(string name, int age) { this->m_Name = na原创 2020-05-28 09:27:22 · 1122 阅读 · 8 评论 -
zstuc++小实验:酒店住房退房,要求使用运算符重载,纯虚函数,多态
实验要求:实现对抽象类的继承,通过operator函数调用的形式,实现运算符的重载实验内容:一个小型快捷酒店有5个房间,其中3个标准间,2个大床间,可在柜台办理入住或退房。标准间180元/天,大床间120元/天,押金都是100元。请利用类的多态特性实现该系统。 代码如下#include<iostream>#include<fstream>using namespace std;//房间的基类class Room{public: //预定房原创 2020-05-25 12:17:14 · 909 阅读 · 0 评论 -
c_str()使用说明------string和c语言字符串的转化
1、c_str()c++语言提供了两种字符串实现,其中较原始的一种只是字符串的c语言实现,还有一种就是c++的string实现 2、二者的转化我们经常使用的一种方法是#include<iostream>#include<cstring>using namespace std;int main(){ char s[20]; string str...原创 2020-05-07 09:24:21 · 750 阅读 · 0 评论 -
c++运算符重载使用说明
运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型一般有+,左移,递增,赋值,关系函数调用这几种运算符重载(1)+运算符重载person+int类型Person operator+(Person &p,int num){ Person temp; temp.m_A=p.m_A+num; temp.m_B=p.m_B+num; return ...原创 2020-04-27 12:58:23 · 228 阅读 · 0 评论 -
指针数组与数组指针----从一维到二维
这是一个很容易混淆的概念int *p1[5];int (*p2)[5];第一个就是一个指针数组[ ]的优先级比*高,所以p1会先于[ ]结合,成为数组,再和指针结合,成为数组指针,也就是数组中每一个元素都是一个指针指针数组是数组,即-一个数组中,每个元素都是指针。第二个就是一个数组指针()的优先级比[ ]高,所以*p先构成一个指针,再和[ ]构成一个数组所以p2是一个指针,指向...原创 2020-04-21 11:27:49 · 846 阅读 · 1 评论 -
c++课后作业杜茂康版
6.用抽象类设计计算二维平面图形面积的程序,在基类TDshape中设计纯虚函数area(和printName()。area()用于计算几何图形的面积,printName(用于打印输出几何图形的类名,如Triangle类的对象就打印输出“Triangle”。每个具体形状的类则从抽象类TDshpe派生,各自需要定义其独有的数据成员和成员函数,并且定义area()和pintName()的具体实现代...原创 2020-04-20 14:07:42 · 1059 阅读 · 0 评论 -
c++课后习题-----创建教师学生类实现输入显示,青铜版VS王者版
一个教学系统至少有学生和教师两种人员,假设教师的数据有教师编号、姓名、年龄,性别、职称和系别,学生的数据有学号、姓名、年龄、性别、班级和语文、数学、英语三门课程的成绩。编程完成学生和教师档案数据的输入和显示。要求如下:设计三个类Person、Teacher、Student,Person是Teacher和Student的基类,具有此二类共有的数据成员姓名、年龄、性别,并具有输入和显示这些数据的成员...原创 2020-04-13 13:33:56 · 2068 阅读 · 0 评论 -
你需要的c++常用算法合集,都在这里(二)
本文主要涉及拷贝和替换算法,算术生成算法,常用集合算法需要遍历,查找,排序算法的可以看我的上一篇文章1、拷贝和替换算法(1)copy容器内指定范围的元素拷贝到另一容器中函数原型copy(iterator beg,iterator end,iterator dest);beg 开始迭代器end 结束迭代器dest 目标起始迭代器实例#include<iostream&g...原创 2020-04-07 16:12:30 · 334 阅读 · 0 评论 -
你需要的c++常用算法合集,都在这里(一)
因为c++算法太多,所以将他分成两篇文章去写,这篇文章主要涉及遍历,查找和排序算法1、遍历算法(1)for_each函数原型for_each(iterator beg, iterator end ,_func);遍历算法遍历容器元素beg开始迭代器end 结束迭代器func 函数或者函数对象具体运用如下在这里插入代码片...原创 2020-04-06 11:40:51 · 2612 阅读 · 2 评论 -
c++项目-----演讲比赛--附详细过程
最近在学c++就跟着b站up主黑马程序员写了一个演讲比赛的小项目,不得不说,确实很复杂,不过很锻炼你对c++知识点的熟练程度,做完还是很有成就感的下面是需求和代码,感兴趣的同学也可以自己动手操作一下哈演讲比赛流程管理系统1、演讲比赛程序要求1.1比赛规则·学校举行一场演讲比赛,共有12个人参加。比赛共两轮,第一轮为淘汰赛,第二轮为决赛。·每名选手都有对应的编号,如10001~10...原创 2020-04-01 11:06:35 · 1659 阅读 · 0 评论 -
c向c++过渡-------setprecision()输出小数
c语言里输出几位小数的真的很方便 比如:假设变量为a,printf(“a=%5.3f”,a);%5.3f是控制输出格式的f表示输出浮点数,5表示最小输出字符宽度为5位数,3表示浮点数输出小数点后为3位数 printf("%5.3lf\n",a);不过在c++里面,小数就要使用setprecision() #include<iostream&...原创 2020-02-27 08:51:44 · 372 阅读 · 0 评论 -
sscanf用法详解
sscanf是从字符串中读取指定整型,浮点型及其他指定数据类型的函数sscanf和scanf的不同是,前者是从字符串中读取。后者是从键盘输入中读取 sscanf的定义int sscanf (const char *str, const char * format,…);这就是说括号里面填写的必须是指针,整型变量也需要加上取值符& 1、将字符串转化为...原创 2020-02-29 09:07:52 · 5931 阅读 · 0 评论 -
c++中sort配合结构体实现多条件排序
c++库函数里面自带排序算法sort,其格式为sort(s,s+n);sort默认是从小到大排序,如果要自定义排序方式需要再写一个函数sort(s,s+n,cmp);下面是一个自定义排序方式的例子,返回值为bool类型struct student{ int sum; int num; int chinese;};bool cmp(student s1,student s2)...原创 2020-03-06 13:11:01 · 5038 阅读 · 0 评论 -
c++的浅拷贝与深拷贝
一、什么是深浅拷贝?浅拷贝:编译器自己创建的直接赋值深拷贝:我们自己在堆区重新开辟空间进行赋值 二、使用浅拷贝会出现什么问题? 一旦有数据开辟在堆区,再使用浅拷贝,就会造成堆区内存重复释放,进行了非法操作 假如没有堆区数据#include<iostream>using namespace std;class Person{ pub...原创 2020-03-15 19:57:47 · 189 阅读 · 0 评论