![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
夜卜.
这个作者很懒,什么都没留下…
展开
-
C++重载
三个项目模板和STL面向过程面向对象C++语言的发展1979 带类的C语言1983 正式命名19851987 GNU C++1990 Borland C++1992 Microsoft C++,IBM C++199820032011 C11标准2014/2017 C++增加很多新功能优势:1.执行效率比C慢,但是比其他的快点多2.用C语言开发效率低下,C++开发效率高兼顾运行速度和开发效率C++语言的应用领域:1.游戏开发 强建模能力,性能高 cocos2d-原创 2021-09-10 09:12:23 · 490 阅读 · 0 评论 -
C++模板
模板模板 泛型编程 类型参数化 C++高级语法函数模板语法格式C++为什么能够支持模板这种语法?调用函数模板特化版本的定义函数模板有点类似于C语言中宏函数类模板类模板定义语法类模板的类型缺省通用的类模板全特化成员特化类模板的非类型参数 及 模板缺省值局部特化(类中的成员函数是模板) 偏特化模板继承、模板成员问题:1.从类模板继承 普通类 类模板2.向类模板派生3.类模板中的模板成员a.模板型成员变量b.模板型成员函数c.模板型成员类型4.模板型模板实参模板 泛型编程 类型参数化 C+原创 2021-09-09 19:14:39 · 172 阅读 · 0 评论 -
模板实现链表
#include <iostream>#include <stdexcept>#include <cstring>using namespace std;//双链表template<typename T>class List{//列表private: //双向链表结点 class Node{ public: T m_elem; //结点元素 Node *m_prev; //前结点 Node *m_next; //下一个节点原创 2021-09-09 19:02:56 · 238 阅读 · 0 评论 -
C++String的实现
#include <iostream>#include <cstring>using namespace std;//写一个string类class String{private: char *m_str; //指针成员public: String(const char *str=""):m_str(strcpy(new char[str?strlen(str)+1:1],str?str:"")){ //m_str = new char[str?strl原创 2021-09-08 19:51:39 · 156 阅读 · 0 评论 -
C++虚.
C++虚计算10个图形的面积,返回面积最大的那个图形重载 覆盖 隐藏的区别虚析构函数纯虚函数 抽象类 纯抽象类typeid 运行时类型信息(RTTI)动态类型转换 dynamic_cast虚函数和sizeof虚函数表与虚表指针多态 动态绑定C++的异常处理1.通过返回值来表达错误2.通过setjmp/longjmp远程跳转3.异常处理异常捕获的语法规则异常的抛出语法函数的异常声明重写对于函数异常说明的限制什么时候必须用初始化列表1.常属性和引用属性2.显示调用父类或者成员属性的有参构造函数即使父类原创 2021-09-06 21:00:11 · 97 阅读 · 0 评论 -
C++基础知识
面向过程面向对象C++语言的发展1979 带类的C语言1983 正式命名19851987 GNU C++1990 Borland C++1992 Microsoft C++,IBM C++199820032011 C11标准2014/2017 C++增加很多新功能优势:1.执行效率比C慢,但是比其他的快点多2.用C语言开发效率低下,C++开发效率高兼顾运行速度和开发效率C++语言的应用领域:1.游戏开发 强建模能力,性能高 cocos2d-x游戏引擎网易 巨峰原创 2021-09-05 20:11:57 · 280 阅读 · 0 评论 -
C++vector
C++vector C++数组迭代器 vector::iterator it自定义写一个Emp调用迭代器和vectorvector C++数组#include <iostream>#include <vector>using namespace std;int main(){ vector<int> v; v.push_back(100); v.push_back(200); cout << v.size() << endl;原创 2021-09-04 20:33:17 · 83 阅读 · 0 评论 -
浙大PAT练习题1015
在 skew binary 表示中,第 k 位的值 x[k] 表示 x[k]×(2^(k+1)-1)。每个位上的可能数字是 0 或 1,最后面一个非零位可以是 2,例如,10120(skew) = 1×(2^5-1) + 0×(2^4-1) + 1×(2^3-1) + 2×(2^2-1) + 0×(2^1-1) = 31 + 0 + 7 + 6 + 0 = 44。前十个 skew 数是 0、1、2、10、11、12、20、100、101、以及 102。输入包括多组数据,每组数据包含一个 skew 数.原创 2021-03-08 21:20:34 · 79 阅读 · 0 评论 -
浙大PAT练习题1014
一个正整数可以分解成一个或多个数组的积。例如36=223*3,即包含2和3两个因子。NowCoder最近在研究因子个数的分布规律,现在给出一系列正整数,他希望你开发一个程序输出每个正整数的因子个数。输入包括多组数据。每组数据仅有一个整数n (2≤n≤100000)。输入示例302620输出示例322题目的意思是把一个数拆成乘式,然后返回这个乘式里有多少个不同的因子。#include <cstdio>#include <cstring>in.原创 2021-03-07 18:03:21 · 110 阅读 · 0 评论 -
浙大PAT练习题1013
所谓因子分解,就是把给定的正整数a,分解成若干个素数的乘积,即 a = a1 × a2 × a3 × … × an,并且 1 < a1 ≤ a2 ≤ a3 ≤ … ≤ an。其中a1、a2、…、an均为素数。先给出一个整数a,请输出分解后的因子。输入包含多组数据,每组数据包含一个正整数a(2≤a≤1000000)。对应每组数据,以“a = a1 * a2 * a3…”的形式输出因式分解后的结果。输入举例1018输出举例10 = 2 * 518 = 2 * 3 * 3.原创 2021-03-06 14:36:20 · 91 阅读 · 0 评论 -
浙大PAT练习题1012
计算机中采用浮点数表示所有实数,但这意味着精度丢失。例如无法精确表示“1/3”。NowCoder最近要处理很多金融问题,这些账目不允许出现精度丢失,因为差之毫厘谬之千里。你能帮他实现一套分数的计算器吗?输入包含多组数据。每组数据一行,包含两个分数和一个运算符,中间用空格隔开。其中分子与分母均为不大于30的正整数。对应每一组数据,输出两个分数的计算结果。要求输出最简分数,即分子与分母互质。输入例子1/3 2/3 +1/5 1/4 -1/2 1/3 *2/3 4/3 /输出例.原创 2021-03-05 22:12:29 · 166 阅读 · 0 评论 -
C语言函数、数组及例题
return 的时候可以多个值,但是只能接收最后一个值return a,b,c 只有c接收函数声明时,形参名可以省略,只保留形参类型数组:数组的定义 定义数组变量 数据类型 数组名[数组长度] int ages[100]={1,2,…}; 0~99数组下标越界很危险,代码编译时不能检查出来,在程序运行过程中可能运行正常,但是也可能使程序崩溃,或者程序结果不正确[ ] 下标访问运算符数组名[下标] 放=左边是改变该数组元素 ,放=右边是取出该元素的值scanf(“%d”原创 2021-01-31 13:54:11 · 1076 阅读 · 0 评论 -
C语言函数、数组知识及例题
1.求1+1/2+1/3+1/4+…1/10 之和#include<stdio.h>int main(){ int i; double all; for(i=1;i<=10;i++){ all += 1.0/i; //因为1和i都是int时,答案会按照整数来算,所以要用1.0 } printf("和为%lf\n",all); //或者%g return 0;}2.输出斐波那契数列的前20项1 1 2 3 5 8 13 21 34 55原创 2021-01-30 16:34:54 · 665 阅读 · 0 评论 -
浙大PAT练习题1011
对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<50),判定该表达式的值是否为素数输入数据有多组,每组占一行,由两个整数x,y组成,当x=0,y=0时,表示输入结束,该行不做处理。对于每个给定范围内的取值,如果表达式的值都为素数,则输出"OK",否则请输出“Sorry”,每组输出占一行。输入示例0 10 0输出示例OK#include<cstdio>int main(int argc,char cons.原创 2021-01-24 17:14:26 · 240 阅读 · 0 评论 -
浙大PAT练习题1010
在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数.例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:输入示例132输出示例132#include<cstdio>typedef long long ll;const int m=100;ll f[m] ={1,1,2};int main(int argc,char const *argv[]){ for(int i=3;i<=m;i++){ .原创 2021-01-24 16:17:05 · 179 阅读 · 0 评论 -
浙大PAT练习题1009
nowcoder利用业余时间养了一窝蜜蜂,因为空间比较小,蜂房只有两排,如下图所示:如你所见,蜜蜂的蜂房是正六边形,假设蜜蜂只会从左往右爬,即从1号蜂房能爬到2号和3号;从6号蜂房能爬到7号和8号……现给出两个蜂房的编号a和b,要求计算蜂房a的蜜蜂爬到蜂房b有几条不同路线。输入的第一行是一个整数n2. 接下来n行数据,每行一组测试用例3. 每组测试用例包含两个正整数a和b,(0 < a < b < 2^31)输入例子31 23 699 100输出例子.原创 2021-01-23 14:43:25 · 116 阅读 · 0 评论 -
浙大PAT练习题1008
NowCoder小时候走路喜欢蹦蹦跳跳,他最喜欢在楼梯上跳来跳去。但年幼的他一次只能走上一阶或者一下子蹦上两阶。现在一共有N阶台阶,请你计算一下NowCoder从第0阶到第N阶共有几种走法。对应每个输入包括一个输出。为redraiment到达第n阶不同走法的数量。当你跳一格时,只有一种方法,定为f(1)跳两格时,有两种方法,定为f(2)跳三格时,1.先跳一格,格数变成2,这时候就回到跳两格的方法总数2.先跳两格,格数变成1,这时候就回到跳一格的方法总数1和2加起来其实就是f(3).原创 2021-01-22 17:37:46 · 191 阅读 · 0 评论 -
浙大PAT练习题1007
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?对于每个测试实例,输出在第n年的时候母牛的数量。每个输出占一行。输入例子245输出例子246为方便用户输入的年份和列表序号相同序号0我们也整个即第0年我们也整个,值为0第0年第1年第2年第3年第4年第5年…012346…由此得出是f(n)=f(n-1)+f(n+3)因为第四年年头才开始生,.原创 2021-01-22 15:49:12 · 136 阅读 · 0 评论 -
浙大PAT练习题1006
星际战争开展了100年之后,NowCoder终于破译了外星人的密码!他们的密码是一串整数,通过一张表里的信息映射成最终4位密码。表的规则是:n对应的值是矩阵X的n次方的左上角,如果这个数不足4位则用0填充,如果大于4位的则只输出最后4位。|1 1|^n => |Xn …||1 0| |… …|例如n=2时,|1 1|^2 => |1 1| * |1 1| => |2 1||1 0| |1 0| |1 0| |1 1|即2对应的数是“0002”.原创 2021-01-22 14:39:21 · 154 阅读 · 0 评论 -
浙大PAT练习题1005
NowCoder号称自己已经记住了1-100000之间所有的斐波那契数。为了考验他,我们随便出一个数n,让他说出第n个斐波那契数。当然,斐波那契数会很大。因此,如果第n个斐波那契数不到6位,则说出该数;否则只说出最后6位。对应每一组输入,输出第n个斐波那契数的最后6位。输入例子1234100000输出例子1235537501#include<cstdio>typedef long long ll;const int m =100001;ll.原创 2021-01-22 13:40:51 · 113 阅读 · 0 评论 -
浙大PAT练习题1004
NowCoder开了一家早餐店,这家店的客人都有个奇怪的癖好:他们只要来这家店吃过一次早餐,就会每天都过来;并且,所有人在这家店吃了两天早餐后,接下来每天都会带一位新朋友一起来品尝。于是,这家店的客人从最初一个人发展成浩浩荡荡成百上千人:1、1、2、3、5……现在,NowCoder想请你帮忙统计一下,某一段时间范围那他总共卖出多少份早餐(假设每位客人只吃一份早餐)测试数据包括多组。每组数据包含两个整数from和to(1≤from≤to≤80),分别代表开店的第from天和第to天。对应每.原创 2021-01-21 17:31:58 · 263 阅读 · 0 评论 -
浙大PAT练习题1003
一只成熟的兔子每天能产下一胎兔子。每只小兔子的成熟期是一天。 某人领养了一只小兔子,请问第N天以后,他将会得到多少只兔子。对应输出第n天有几只兔子(假设没有兔子死亡现象)。#include<cstdio>typedef long long ll;const int m = 100;ll f[m] = {1,1,2};int main(int argc,char const *argv[]){ for(int i=3;i<m;i++){ f[i]=(f[i-1].原创 2021-01-21 17:11:39 · 111 阅读 · 0 评论 -
浙大PAT练习题1002
时间限制 3000 ms 内存限制 32768 KB 代码长度限制 100 KBNowCoder最近在研究一个数列:* F(0) = 7* F(1) = 11* F(n) = F(n-1) + F(n-2) (n≥2)他称之为NowCoder数列。请你帮忙确认一下数列中第n个数是否是3的倍数。输入包含多组数据。每组数据包含一个整数n,(0≤n≤1000000)。对应每一组输入有一行输出。如果F(n)是3的倍数,则输出“Yes”;否则输出“No”。输入例子0123.原创 2021-01-21 14:36:15 · 208 阅读 · 0 评论