程序设计B
莫余
无论如何,都要去试一试,哪怕不能证明我可以!
展开
-
C++头文件中 尖括号 和 引号 的区别
区别:C++已经有一些编写好的头文件(比如标准函数库等等),它们存放在VC++的Include文件夹里。使用#include <文件名>命令时,编译器就到这个文件夹里去找对应的文件。用这种写法去包含一个我们自己编写的头文件(不在那个Include文件夹里)就会出错了。所以包含C++提供的头文件时,应该使用尖括号。#include "文件名"命令,则是先在当前文件所在的目录搜索是否有符合的文件,如果没有再到Include文件夹里去找对应的文件。因此,无论这个文件是C++提供的还是自己编写的原创 2020-09-23 16:53:54 · 4068 阅读 · 0 评论 -
解决无缘无故出现cannot open output file a.out Permission denied的问题
这并不意味着你的代码写错了,是进程未结束的缘故。打开资源管理器,杀死运行的进程,如下图所示。一般内存不足,多会导致此状况。原创 2020-05-30 21:22:38 · 10178 阅读 · 4 评论 -
C++的精髓之 继承与多态
不知不觉的,12周的程序设计B(理论课)已经结束了,从C语言进阶到了真正意义上的C++。C语言是从一个事情的常规逻辑出发的,面向的是单个的个体。而在处理一些问题上,往往会有非常相似的问题,例如:选课系统会有不同的用户,但这些用户都得需要登录。这些代码写起来都有相同的共性,写起来会导致代码量很多,因此使用继承可以减少很多的代码量。派生类的生成过程经历了三个步骤:吸收基类成员(全部吸收(构造、析构除外),但不一定可见)改造基类成员添加派生类新成员...原创 2020-05-20 15:46:50 · 334 阅读 · 0 评论 -
vector实现 并交差 集实例
set_intersection():存放交集的容器的容量必须要足够大到能放下所有的元素,即函数只执行复制,不是插入!set_union():并集set_difference():差集但是模板 insert_iterator<>可以将复制转换为插入,可以解决该问题。通用函数,而不是set的专有函数。#include<bits/stdc++.h>using namespace std;class A{private: string id; string原创 2020-05-09 13:35:16 · 483 阅读 · 0 评论 -
学习STL,先看看这篇STL的总结与应用吧
早前学习数据结构的时候,看到别人都能够熟练地使用STL的内容,心想什么时候自己也能够做到,就现在来说,掌握下面这些还是远远不够的,想要充分的理解STL,还是得从源码来看。STL组件容器(Container)——管理某类对象的集合迭代器(Iterator)——在对象集合上进行遍历算法(Algorithm)——处理集合内的元素容器适配器(container adaptor)函数对象(fu...原创 2020-04-28 21:04:12 · 805 阅读 · 0 评论 -
C++文件读写,知道这些就够了
用于内存与文件之间的数据传输的三个类:ifstream类:读文件ofstream类:写文件fstream 类:读、写文件good(); 如果文件打开成功bad(); 打开文件时发生错误eof(); 到达文件尾要执行文件的输入输出,须做以下几件事:1.在程序中包含头文件fstream2.建立文件流。建立文件流的过程就是定义流类的对象,例如:ifstream i...原创 2020-04-12 10:09:53 · 445 阅读 · 0 评论 -
6周的C++,我学会了这些
在第一周的学习中,我们首先学习了递归算法,对递归的要求并不算太高,主要是温习一下之前学过的知识,并且在 算法设计与分析 这门课中,会比较的轻松。递归:递归的关键在于找出递归定义和递归终止条件。递归成功的秘诀在于:不要担心递归方法是如何解决子问题的。只要简单地接收它能正确地解决子问题,而且使用子问题的求解结果就能正确地解决原问题。层层递归,最终便可得到最终的答案。记忆化搜索:在递...原创 2020-04-06 13:31:43 · 302 阅读 · 0 评论 -
让C++的运算符重载成为你的强项
为什么要重载运算符?C++所提供的运算符只能够满足基本数据类型和标准模板库中的类所使用,但是对于用户自己定义的类,如果想要通过该操作符实现一些基本操作(比如比较大小,判断是否相等),就需要用户自己来重新定义操作符来实现。如何重载运算符?运算符重载规则:不能重载的算符 . :: .* ?: sizeof不改变运算符的优先级不改变运算符的结合性不改变运算符所需要的操作数不能创建新的...原创 2020-04-05 11:11:02 · 257 阅读 · 0 评论 -
领会 C++复制构造函数 的魅力
复制构造函数用一个已有同类对象创建新对象进行数据初始化:语法形式:类名 :: 类名(const 类名 & 引用名 , …);复制构造函数的特点:复制构造函数名与类名相同,并且也没有返回值类型。复制构造函数可写在类中,也可以写在类外。复制构造函数要求有一个类类型的引用参数。如果没有显式定义复制构造函数,系统自动生成一个默认形式的复制构造函数。复制构造函数的调用 ...原创 2020-03-28 14:37:57 · 188 阅读 · 0 评论 -
深入了解C++的string,这一篇就够了
1.简介:string是C++标准库的一个重要的部分,主要用于字符串处理,在使用时,务必添加头文件 。2.string常用函数:(1)构造函数:生成一个空字符串str:string str;拷贝构造函数,生成str的复制品:string s(str);将字符串str中从下标strbegin开始、长度为strlen的部分作为字符串初值:string s(str, st...原创 2020-03-22 11:02:52 · 305 阅读 · 0 评论 -
初始化列表 知多少
C++的初始化列表:在C++中,有的构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表。初始化列表以一个冒号开始,紧接着就是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式。class A{private: int i; double j;public: A():i(5),j(5.0){} A() { ...原创 2020-03-20 21:42:48 · 179 阅读 · 0 评论 -
类和对象的知识汇总
在类的定义中不能对数据成员进行初始化。类的成员可以是其他类的对象,称为类的组合。但不能以类自身的对象作为本类的成员。原创 2020-03-15 22:16:02 · 137 阅读 · 0 评论 -
指针和引用
遇空格结束scanf printf %s 对字符串变量不起作用keyi 提供多种数据原创 2020-03-10 09:21:39 · 188 阅读 · 0 评论 -
递归算法思想
递归算法自我体会: 每递归调用一次函数,系统就会生成一个新的函数实例。这些函数实例有同名的参数和局部变量,但各自独立,互不干扰。流程执行到哪一层,那一层的变量就起作用,返回上一层,就释放掉低层的同名变量。递归算法: 程序直接或间接调用自身递归函数: 直接或间接调用自身的函数递归成功的秘诀在于:不要担心递归方法是如何解决子问题的。只要简单地接收它能正确地解决子问题,而且使用子问题的求解结果...原创 2020-03-02 21:35:27 · 296 阅读 · 0 评论