C++面向对象
文章平均质量分 74
SpareLin
这个作者很懒,什么都没留下…
展开
-
[C++] std::tuple
std::tuple是C++11新标准引入的一个类模板,又称为元组,是一个固定大小的异构值集合,由std::pair泛化而来。pair可以看作是tuple的一种特殊情况,成员数目限定为两个。tuple可以有任意个成员数量,但是每个确定的tuple类型的成员数目是固定的。 从概念上讲,它们类似于C的结构体,但是不具有命名的数据成员,我们也可以把他当做一个通用的结构体来用,不需要创建结构体又获取结构体的特征,在某些情况下可以取代结构体使程序更简洁,直观。 tuple 的应用场景很广泛,例如当需要存储多个原创 2022-06-20 01:18:08 · 11445 阅读 · 0 评论 -
PTA 7-1 磁盘文件的读写
先上自己写的满足题意的写法,但是显示段错误,在编译器上是能通过的#include <iostream>#include <fstream>#include <sstream>#include <vector> //std::vector#include <string> //str::stringstd::ofstream outputFile("STUD.DAT", std::ios::out);std::ifstrea..原创 2022-05-30 20:33:33 · 2075 阅读 · 0 评论 -
[C++] std::vector
std::vectortemplate < class T, class Alloc = allocator<T> > class vector; // generic templatevector是表示可以改变大小的数组的序列容器。就像数组一样,向量对其元素使用连续的存储位置,这意味着也可以使用指向其元素的常规指针上的偏移量来访问它们的元素,并且与在数组中一样有效。但与数组不同的是,它们的大小可以动态变化,它们的存储由容器自动处理。在内部,向量使用动态分配的数组来原创 2022-05-30 00:38:35 · 5094 阅读 · 0 评论 -
[C++] std::array
Standard library header <array> Includes <initializer_list>(C++11) Classes array (C++11) 静态连续数组(类模板) std::tuple_size<std::array> 获得array的大小(类模板特化) std::tuple_element<std::array&.原创 2022-05-29 17:10:20 · 492 阅读 · 0 评论 -
[C++] 实现Split 字符串分割的几种方法
目录单个字符作为分割函数原型方法一:方法二:字符串作为分隔函数原型方法二:代码测试参考:单个字符作为分割函数原型vector<string> Split(const string &s, const char &seperator);方法一:istringstream类用于执行C++风格的串流的输入操作istringstream的构造函数原形如下:istringstream::istringstr......原创 2022-05-27 00:34:50 · 3166 阅读 · 0 评论 -
【C++】 流操纵算子
目录一、流操作算子的作用:二、流操纵算子的头文件iomanipiomanip:功能:接口:三、流操纵算子的分类①整数流的基数:流操纵算子dec, oct, hex, setbase②控制浮点数精度的流操纵算子(precision, setprecision)③设置域宽(setw,width)④综合实例④用户自定义的流操纵算子一、流操作算子的作用:C++ 流操纵算子 (格式控制) 使用成员函数控制格式化输入输出时,每个函数调用需要写一条语句,尤其是它不能原创 2022-04-29 17:53:05 · 1832 阅读 · 0 评论 -
【C++】 可变长数组类的实现
可变长数组类的实现成员变量:size表示元素的个数,ptr指针指向动态分配的数组成员函数:拷贝构造函数,析构函数释放空间重载运算符 '=' 用于对象间的赋值重载运算符“[]” 用以支持根据下标访问数组元素'push_back函数 用于在数组尾部添加一个元素length 函数 用于返回数组的长度程序实现如下:#include <iostream>#include <cstring>using namespace std;class CArr..原创 2022-03-29 22:05:48 · 2427 阅读 · 0 评论 -
C++ Complex类 重载运算符 + - * /
设两个复数为 a = x1 + y1i, b = x2 + y2i公式如下:a + b = (x1 + x2) + (y1 + y2)i;a - b = (x1 - x2) + (y1 - y2)i;a * b = (x1 + y1i) * (x2 + y2i) = (x1*x2 - y1*y2) + (x1 * y2 - y1 * x2)i;a / b = (x1 + y1i) /(x2 + y2i) = (x1 * x2 + y1 * y2) / (x2 * x2 + y2 * ..原创 2022-03-23 01:00:56 · 1510 阅读 · 0 评论 -
【C++ 】运算符重载
一、运算符重载的基本概念我们知道C++预定义的运算符,只能用于基本数据类型的运算如:整型,实型,字符型,逻辑型.......运算符如:+、-、*、/、%、&、~、!、|、=、<<、>>、!=、.....运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。运算符重载的目的是:扩展C++中提供的运算符的适用范围,使之能作用于对象。二、运算符重载的形式1、运算符重载的实质是函数重载2、可以重载为普通函数,也可以重载为成原创 2022-03-22 00:33:38 · 6039 阅读 · 1 评论