c++语言学习
Steve_Kung君
这个作者很懒,什么都没留下…
展开
-
各种排序算法
原创 2019-03-20 00:35:45 · 140 阅读 · 0 评论 -
虚基类、虚函数、抽象类
虚基类使用虚基类,可以使得在派生类中只保留间接基类的一份成员。声明虚基类只需要在继承方式前面加上 virtual 关键字虚函数成员函数前面加virtual关键字,基类的虚函数不用实现,派生时再具体实现抽象类虚函数等于0,不能实例化...原创 2019-03-19 10:51:43 · 341 阅读 · 0 评论 -
静态成员函数调用
static成员函数属于类,独立于对象存在,不依赖于对象。随着类的加载而加载,优先于对象存在,被所有对象共享,可以直接被类名调用。调用方式:类名::成员名对象名.成员名static成员函数中没有this指针,非static成员函数中拥有this指针。对象与对象之间的成员变量是相互独立的。要想共用数据,则需要使用静态成员和静态方法静态成员变量虽然在类中,但它并不是随对象...原创 2019-03-19 12:13:10 · 6671 阅读 · 1 评论 -
打印出水仙花数
//MagicNumber.h//!@#$%!@#$%proj3\MagicNumber.h#include <iostream>#include <string>#include <cmath>using namespace std;class MagicNumber{public: MagicNumber(int d):digits(d...原创 2019-03-23 10:44:55 · 431 阅读 · 0 评论 -
内联函数
在类体里面定义的成员函数,C++系统会自动将他们作为内联函数处理。在类外定义的成员函数,必须得加inline关键字才算内联函数。内联函数是带参数的宏...原创 2019-03-22 23:06:46 · 151 阅读 · 0 评论 -
不能直接将字符串赋值给指针
int main() { char a[3][4];a[0]="AAA";//运行错误, error C2440: “=”: 无法从“const char [4]”转换为“char [4]”strcpy(a[1],"BBB");//运行正确}原创 2019-03-23 23:24:24 · 2432 阅读 · 0 评论 -
函数模板参数
C++模板实参的省略下面列举的几种情况不能省略模板实参:1)从模板函数实参表获得的信息有矛盾之处。template<typename T> void fun(T const& a,T const& b);但是你调用时却是fun(250,250.4);那你就必须写成fun<int>(250,250.4);2)需要获得特定类型的返回值,而不管参数...转载 2019-03-24 00:22:11 · 3685 阅读 · 0 评论 -
ubuntu qt 安装
1、qt下载https://download.qt.io/official_releases/qt/5.12/5.12.3/2、设置安装包的权限sudo chmod 777 qt-opensource-linux-x64-5.12.3.run3、运行安装sudo ./qt-opensource-linux-x64-5.12.3.run4、next5、skip6、下一...原创 2019-07-24 11:08:39 · 326 阅读 · 0 评论 -
qt+opencv+win7
1、cmake下载与安装https://cmake.org/download/2、Qt下载与安装http://download.qt.io/archive/qt/同样双击安装3、OpenCV3.2.0官方下载地址:http://opencv.org/releases.html#解压即是安装过程,选择好安装路径即可4、系统环境变量设置https:...转载 2019-07-23 11:32:39 · 196 阅读 · 0 评论 -
构造顺序与析构顺序
派生类构造函数执行的次序: 1. 调用基类构造函数,调用顺序按照它们被继承时声明的顺序(从左到右);2. 调用内嵌成员对象的构造函数,调用顺序按照它们在类中声明的顺序;3. 派生类自己构造函数体中的内容。派生类析构函数执行的次序:派生类的析构函数的功能是在该对象消亡之前进行一些必要的清理工作,析构函数没有类型,也没有参数。析构函数的执行顺序与构造函数相反。#inc...原创 2019-03-19 10:33:25 · 3050 阅读 · 0 评论 -
类的继承方式
1、公有继承当类的继承方式为公有继承时,基类的公有和保护成员的访问属性在派生类中不变,而基类的私有成员不可访问。即基类的公有成员和保护成员被继承到派生类中仍作为派生类的公有成员和保护成员。派生类的其他成员可以直接访问它们。无论派生类的成员还是派生类的对象都无法访问基类的私有成员。2、私有继承当类的继承方式为私有继承时,基类中的公有成员和保护成员都以私有成员身份出现在派生类中,而基类的私有...原创 2019-03-19 10:25:22 · 1190 阅读 · 0 评论 -
返回参数a中数组的两个最大元素值之和
//返回参数a中数组的两个最大元素值之和int FF(XArray& a){ int i,x1=a[0],x2=a[1]; if(x1<x2) {int x=x1; x1=x2; x2=x;} //********333******** for(i=2;i<a.length();i++) { if(a[i]>x1) { x2=x1; ...原创 2019-03-22 00:23:48 · 499 阅读 · 0 评论 -
各种遍历
前序遍历(DLR),可记做根左右。前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。中序遍历,记做左根右。后序遍历,记做左右根原创 2019-03-20 21:24:07 · 260 阅读 · 0 评论 -
计算机二级考试公共基础知识
白盒测试方法:代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。黑盒测试方法:划分等价类、划分等价类、输入条件、边界值分析法、错误推测法、因果图法、判定表组成法、正交试验设计、场景法。对象之间进行通信的构造叫做消息。多态性是指同一个操作可以是不同对象的行为。对象不一定必须有继承性。封装性是指从外面看只能看到对象的外部特征,而不...原创 2019-03-20 21:44:07 · 687 阅读 · 0 评论 -
运算符重载规则
1) 并不是所有的运算符都可以重载。能够重载的运算符包括:+ - * / % ^ & | ~ ! = < > += -= *= /= %= ^= &= |= << >> <<= >>= == != <= >= && || ++ -...转载 2019-03-20 21:58:54 · 4120 阅读 · 0 评论 -
构造函数执行次数
#include <iostream>using namespace std;class A{public: A() { cout << "进入构造函数\n"; } ~A() { cout << "进入析构函数\n"; }};int main(){A* p = new A[2]; //进入构造函数A a[4]; ...原创 2019-03-20 22:37:31 · 2100 阅读 · 0 评论 -
输入输出流
输入输出流类对象除了cin和cout还有cerr、clog等C++流不只是进行格式化输入输出#include <iostream>using namespace std;class Point {private: int x;public: Point(int x1){x=x1;} friend ostream&a...转载 2019-03-20 23:25:17 · 195 阅读 · 0 评论 -
模板
在 C++ 中,模板分为函数模板和类模板两种。函数模板是用于生成函数的,类模板则是用于生成类的。函数模板的写法如下:template <class 类型参数1, class类型参数2, ...>返回值类型 模板名(形参表){ 函数体}其中的 class 关键字也可以用 typename 关键字替换,例如:template <typename 类...转载 2019-03-20 23:30:37 · 172 阅读 · 0 评论 -
循环队列个数计算公式
计算队列的元素个数:(尾-头+表长)%表长队列头指针为front,队列尾指针为rear,队列容量为M,则元素个数为|rear-front+M|%M,注意,这个%是求余运算。设f为队头,r为队尾,m为队长,a为元素个数,则1. f>r时,a=m+r-f;2. f<r时,a=r-f3. f=r时,a = 0或M...原创 2019-03-21 22:22:20 · 5687 阅读 · 1 评论 -
运算符重载
待留,明天写。。。。原创 2019-03-21 23:56:57 · 192 阅读 · 0 评论 -
PAT中gets函数的替换方法
PTA B1009说反话答案:#include <cstdio>#include <cstring>int main() { char str[90]; int i=0; fgets(str, 90, stdin); while (str[i] != '\n') i++; str[i] = '\0'...原创 2019-08-15 22:03:55 · 2838 阅读 · 0 评论