C++
记录备考过程中练习的代码。
kylee1512
这个作者很懒,什么都没留下…
展开
-
Qt读取文件中的图片并显示
首先需要一个按钮,按了这个按钮后跳转到读取文件,这里用connect实现。此外需要一个Qlabel按钮接收要显示的图片,下面是槽函数的写法:void MainForm::onbtnInteracOpen_clicked() { qDebug() << "---------------------------点击open------------------------------"; //第三个参数是默认打开图片路径 QString fileNa原创 2022-10-13 17:39:21 · 2901 阅读 · 0 评论 -
编写一个String类(c++实现)
编写一个string类,要求实现构造函数,拷贝构造函数,析构函数,运算符重载,获取指定位置的子串,显示字符串等功能。详细代码:#include <iostream>#include <cstring>using namespace std;class String{ private: char* m_data; int length; public: String(const char *src = NULL);//构造函数 String原创 2020-10-03 20:52:22 · 4898 阅读 · 2 评论 -
定义HugeInt类能处理20亿以上的整数(c++)
算法思想:将大数存入数组,再对数组进行逐位操作。#include <cstring>#include <string>#include <iostream>using namespace std;//算法思想:将大数存入数组,再对数组进行逐位操作class HugeInt{public: HugeInt(long val = 0); // long型数转换构造为HugeInt型 HugeInt(const char原创 2020-09-20 21:26:49 · 1714 阅读 · 2 评论 -
统计英文句子中字母个数(c++)
编写一个函数,统计一条英语句子中字母的个数,在主程序中实现输入输出。#include <iostream>#include <String>using namespace std;int count(char *str){ int n=0; for(int i=0;str[i];i++){ if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z')原创 2020-09-05 16:30:57 · 9665 阅读 · 5 评论 -
指针的简单程序(c++)
实现一个名叫SimpleCiecle的简单圆类。其数据成员int *itsRadius为一个指向其半径值的指针,存放其半径值。设计对数据成员的各种操作,给出这个类的完整实现并测试这个类。#include <iostream>using namespace std;class SimpleCircle{public: SimpleCircle(); SimpleCircle(int); SimpleCircle(const SimpleCircle &); ~Simple原创 2020-09-05 16:11:51 · 1978 阅读 · 0 评论 -
对象指针和成员函数指针的创建和使用(c++)
对象指针用于存放对象地址的变量。成员函数指针用于存放函数代码首地址的变量。函数名表示函数的代码在内存中的起始地址。调用函数的通常形式“函数名(参数表)”的实质就是“函数代码首地址(参数表)”。详见代码:#include <iostream>using namespace std;int main(){ Point a(4,5); //定义对象A Point *p1 = &a; //定义对象指针并初始化 int (Point::*funcPtr)() c原创 2020-09-03 15:49:39 · 288 阅读 · 0 评论 -
输出数组元素的三种方法(c++)
设有一个int型数组a,有10个元素。用三种方法输出各种元素。一、使用数组名和下标 int a[10]={1,2,3,4,5,6,7,8,9,0}; for(int i=0;i<10;i++){ //使用数组名和下标输出数组 cout<<a[i]<<" "; } cout<<endl; 二、使用数组名和指针运算 for(int i=0;i<10;i++){ // 使用数组名和指针运算输出数组 cout原创 2020-09-02 22:49:00 · 16447 阅读 · 0 评论 -
一个关于关于类的简单代码
问题描述:定义一个复数类Complex,使得下面的代码能够工作。Complex c1(3,5); //用复数3+5i初始化c1Complex c2=4.5; //用实数4.5初始化c2c1.add(c2); //将c1与c2相加,结果保存在c1中c1.show();//将c1输出,结果是7.5+5i代码:#include <iostream>using namespace std;class Complex{ private: double a; double b;原创 2020-08-20 21:33:47 · 399 阅读 · 0 评论 -
设计一个用于人事管理的People(人员)类(c++)
问题描述:设计一个用于人事管理的People(人员)类。考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。其中"出生日期"定义为一个"日期"类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、带缺省形参值的成员函数、聚集。代码:#include <iostream>#include <string.h>using namesp原创 2020-08-20 21:21:17 · 19470 阅读 · 3 评论 -
c++中调用复制构造函数的三种情况
普通构造函数是在对象创建时被调用,而复制构造函数在以下三种情况下会被调用。(1)当用类的一个对象去初始化该类的另一个对象时。例如:Point a(1,2);Point b(a); //调用复制构造函数 Point c=a; //同上 (2)如果函数的形参是类的对象,调用函数时,进行形参和实参结合时。例如:void fun1(Point p){ cout<<p.getX()<<endl;}int mian(){ Point a(1,2); f原创 2020-08-18 22:03:55 · 2346 阅读 · 2 评论 -
递归法求n阶勒让德多项式的值(c++实现)
问题描述:用递归法的方法编写函数求n阶勒让德多项式的值,在主程序中实现输入输出。分析:递归公式为:Pn(x)=1 (n=0)Pn(x)=x (n=1)Pn(x)=[(2n-1)x*Pn-1(x)-(n-1)Pn-2(x)]/n按照递归公式编写代码即可。代码:#include <iostream>using namespace std;double Legendre(int n,int x){ if(n==0) return 1; else if(n==1原创 2020-08-18 20:45:07 · 11743 阅读 · 0 评论 -
递归法求解斐波那契数列(C++实现)
问题描述:现在要求输入一个整数n,请你输出斐波那契数列的第n项(n从1开始)。分析:Fibonacci级数公式为:Fn=Fn-1+Fn-2(n>2),F1=F2=1代码:#include <iostream>using namespace std;int Fibo(int n){ if(n==1||n==2) return 1; else return Fibo(n-1)+Fibo(n-2);}int main(){ cout<<"请输原创 2020-08-18 20:26:52 · 7825 阅读 · 0 评论 -
递归法解决汉诺塔问题
问题描述:塔上有三根柱子和一套直径各不相同的空心圆盘,开始时源柱子上的所有圆盘都按从大到小的顺序排列。目标是通过每一次移动一个圆盘到另一根柱子上,最终把一堆圆盘移动到目标柱子上,过程中不允许把较大的圆盘放置在较小的圆盘上。分析:将n个盘子从A针移到C针可以分解为下面三个步骤。(1)将A上n-1个盘子移到B针上(借助C针)。(2)把A针上剩下的一个盘子移到C针上。(3)将n-1个盘子从B针移到C针上(借助A针)。事实上,上面3个步骤包含下面两种操作。(1)将多个盘子从一个针移到另一个针上,这是原创 2020-08-18 19:04:07 · 336 阅读 · 0 评论 -
递归法计算从n个人中选择k个人组成一个委员会的不同组合数
问题描述:用递归法计算从n个人中选择k个人组成一个委员会的不同组合数。分析:由n个人里选k个人的组合数=由n-1个人里选k个人的组合数+由n-1个人里选k-1的人的组合数。由于计算公式本身是递归的,因此可以编写一个递归函数来完成这一功能,递推的结束条件是n=k或k=0,这时的组合数为1,然后开始递归。代码:#include <iostream>using namespace std;int comm(int n,int k){ if(k>n) return 0; e原创 2020-08-16 21:56:03 · 2123 阅读 · 0 评论 -
口袋取球的取法问题(C++实现)
问题描述:口袋中有红、黄、蓝、白、黑五种颜色的球若干个。每次从口袋中取出3个不同颜色的球,请问有多少种取法?分析:首先取第一个球,再取第二个球。判断前两个球是否相同,若相同则按顺序再取第二个球,若不相同开始取第三个球。判断第三个球和前两个球是否相同,若相同则按顺序再取第三个球,直到三个球都不相同为止。记录下三个球此时的数字,在枚举变量中找到对应颜色的球并输出。代码:#include <iostream>using namespace std;enum Color{red,yell原创 2020-08-16 21:44:51 · 3318 阅读 · 1 评论