c++学习
文章平均质量分 68
yangshuolll
这个作者很懒,什么都没留下…
展开
-
QuickSort
QuickSort 示例quicksort 使用了递归二分的思想,首先找到最初的基准数(以第一个为基准),如果从小到大的排列的话,先在右边找到比基准数小的数组下标,然后再在左边找到比基准数大的数组下标,两个数交换位置。 如果左边的基准数下标等于右边的基准数下标。下标表示的数和最初的基准数交换位置。 然后左边的数组和右边的数组还是按照这个方法继续排序下去。#include<stdio.h>void原创 2017-12-18 23:29:08 · 276 阅读 · 0 评论 -
Motion sensing game (Ping Pong Game)
Project demonstrationHere is the source code of the project based on OpenCV anc C++.Before you run this code on Linux, you should install the OpenCV library first.#include#include#inclu原创 2015-06-26 21:52:34 · 1346 阅读 · 0 评论 -
poj 1222 Extended lights out (emulator)
This is an emulator question. Just try the answer so many times and you can solve it. However there are some tips as follow.(1) If you want to turn off all lights on the first row, you should p原创 2015-05-04 11:13:23 · 811 阅读 · 0 评论 -
Cluster telephone interview
First, convert decimal into binary.#include#include#includevoid binary(int num){ // convert decimal into binary int bit[33]; memset(bit,0,sizeof(bit)); bool flag = 0; // positve原创 2015-04-02 13:42:33 · 693 阅读 · 0 评论 -
Using opencv to process the video stream from camera
Here, we just talk about how to obtain the video stream from opencv and then to process the video stream to get new video stream.1st, obtain the video stream from the camera.2nd, process each原创 2015-02-09 17:27:04 · 1312 阅读 · 0 评论 -
imgae processing tutorial one
this is about the image processing.tutorial one read image#include #include #include //#include #include //#include // use these two header to instead of原创 2015-01-20 15:40:33 · 719 阅读 · 0 评论 -
opencv track image linux
//objectTrackingTutorial.cpp//Written by Kyle Hounslow 2013//Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the原创 2014-12-02 10:43:20 · 1046 阅读 · 0 评论 -
单目运算符重载为成员函数 前++ 和后++的使用
//单目运算符重载为成员函数 后++ 采用了哑元#includeusing namespace std;class CPoint { private: int x,y; public: CPoint(int a = 0,int b = 0){ x = a; y = b; } CPoint operator原创 2014-06-11 02:34:04 · 2428 阅读 · 0 评论 -
运算符重载的方式 双目运算符重载为类的成员函数
/*函数的重载分为两种:1.重载为类的成员函数 2.重载为类的友元函数*///1.双目运算符重载为类的成员函数 #includeusing namespace std;class point{ private: int x,y; public: point(int xx = 0,int yy = 0){ x = xx; y = yy; } int get原创 2014-06-11 02:10:20 · 3315 阅读 · 0 评论 -
c++ 中 一个类变量 成为另一个类的成员的使用
定义两个类,一个base类和一个cylinder#includeusing namespace std;#define PI 3.1415926class Base{ double radius; public: Base(double r):radius(r){ } double area(){ return radius * radius * PI; }};原创 2014-05-17 16:10:40 · 4362 阅读 · 0 评论 -
局域网ip扫描器c语言多线程 linux版
原理: 采用多线程的方式实现ping命令,原创 2014-04-27 16:35:08 · 5197 阅读 · 0 评论 -
关于类的指针的应用
类指针可以用来之下#include using namespace std;class Rectangle{ int height,width; public: Rectangle(int h,int w):height(h),width(w){ } int area(){ return height * width; }};int main(vo原创 2014-05-17 22:01:58 · 927 阅读 · 0 评论 -
通过友元函数实现两个不同类中私有成员变量的数据交换
本代码中定义了两个相同的类,和一个交换信息的函数,信息交换函数同时是这两个类的友元类。这样这个定义的信息交换函数就可以直接访问这个类的私有成员变量来进行相互间的信息交换。//2015_July_8// friend funciton to transmit value#include "iostream"using namespace std;class CPeop原创 2015-07-08 10:03:03 · 1282 阅读 · 0 评论 -
C++继承的函数实现
#include "iostream"using namespace std;class CPolygon{ protected: double height, width; public: void setValue(double h, double w){ height = h; width =原创 2015-07-08 10:42:10 · 1030 阅读 · 0 评论 -
Qt 显示中文代码
#include #include #include int main(int argc, char **argv){ //construct QApplication app(argc, argv); //construct label QTextCodec *coder = QTextCodec::codecForName("utf-8"); QLabel qlab(c原创 2016-06-22 17:38:52 · 510 阅读 · 0 评论 -
有关MFC消息映射表
MFC的消息映射机制和Win32的消息映射机制的编写有很大的不同。 Win32 是在消息处理函数中直接通过switch case 来找到每个消息相对应的消息处理函数。 而MFC则是采用了宏定义的方式,简化了消息函数与消息的函数的编写以下是我从MSDN中截取的如何在MFC中简历相应的消息映射表// example for DECLARE_MESSAGE_MAPclass CMyWnd原创 2015-07-23 15:16:06 · 869 阅读 · 0 评论 -
有关win32信号量和事件在多线程使用的小例子
#include "windows.h"#include "stdio.h"#include "conio.h"HANDLE g_hEvent = NULL;HANDLE g_hSem = NULL;long num = 0;int ch = 'a';DWORD CALLBACK PrintProc(LPVOID pParam){ HANDLE nHandle [2] ={g_hS原创 2015-08-12 16:19:38 · 1267 阅读 · 0 评论 -
模式对话框和无模式对话框的创建总结
对话框VS普通窗口1.创建模式对话框 DialogBox 堵塞函数无模式对话框 CreateDialog普通窗口 CreateWindow/CreateWindowEx2.窗口处理函数对话框 DlgProc 并非真正的对话框窗口处理函数普通窗口 WndProc 需要调用缺省窗口处理函数3.窗口消息普通窗口 WM_CREATE原创 2015-07-31 14:28:43 · 942 阅读 · 2 评论 -
有关虚函数的覆盖 和 子类中函数的隐藏
通过一个例子来解释#include using namespace std;class Base{ public: virtual void xfn(int i){ cout << "Base::xfn(int i)" << endl; } void yfn(float f){ cout原创 2015-08-26 14:31:40 · 703 阅读 · 0 评论 -
虚函数的使用
虚函数的使用和纯虚函数的使用。虚函数是在基类定义,然后子类重写这个函数后,基类的指针指向子类的对象,可以调用这个函数,这个函数同时保留这子类重写的功能。纯虚函数是可以不用在基类定义,只需要声明就可以了,然后因为是纯虚函数,是不能产生基类的对象,但是可以产生基类的指针。纯虚函数和虚函数最主要的区别在于,纯虚函数所在的基类是不能产生对象的,而虚函数的基类是可以产生对象的。//原创 2015-07-08 12:06:24 · 704 阅读 · 0 评论 -
有关C++的拷贝构造函数
重新复习一遍C++的constructor, construct with arguments, copy constructor, copy assignment下面重点要强调的是有关copy constructor,constructor ,和 copy assignment。如果拷贝参数是对象的话,注意要使用常引用即 const &。 如果返回值是对象的话,返回的也是该对象的引用原创 2015-07-08 09:15:41 · 582 阅读 · 0 评论 -
拷贝构造函数
下面是关于拷贝构造函数的使用。#include #include class CVector{ std::string *ptr; public: //default constructor CVector(){ ptr = new std::string; } //co原创 2015-07-07 15:36:53 · 526 阅读 · 0 评论 -
构造函数和析构函数的使用
#include "iostream"#include "string"class CVector{ std::string *ptr; public: //Default constructor // 默认构造函数 CVector(){ ptr = new std::string; }原创 2015-07-07 14:52:09 · 602 阅读 · 0 评论 -
类模板和专属类模板
看了下面的代码就知道了如何使用类模板和专属类模板//Template specializaiton//Class templates#include "iostream"template class mypair{ T elem; public: mypair(T x){ elem = x; }原创 2015-07-07 11:46:13 · 596 阅读 · 0 评论 -
关于C++子类父类成员函数的覆盖和隐藏
函数的覆盖 覆盖发生的条件:(1) 基类必须是虚函数(使用virtual 关键字来进行声明)(2)发生覆盖的两个函数分别位于派生类和基类(3)函数名和参数列表必须完全相同函数的隐藏 隐藏发生的条件:(1)子类和父类的函数名相同,参数列表可以不一样看完下面的例子就明白了#include "iostream"using names原创 2015-07-10 10:23:23 · 2670 阅读 · 0 评论 -
Windows 编程- 生成窗口程序
下面开始windows 窗口程序的学习,要建立一个窗口程序,首先要分为以下5个部分。1. 首先建立入口程序WinMain //这个就好像C语言中的main函数。2. 定义窗口处理函数 // 自己定义 处理消息3. 注册窗口类 // 向操作系统中写入自己类的信息 4. 创建窗口类 // 在内存中创建窗口 在内存中为窗口申请一片空原创 2015-07-09 11:00:58 · 1248 阅读 · 0 评论 -
利用Windows绘制界面并且编写窗口过程函数
这篇blog主要是将的是如何实现窗口过程编程。即通过窗口过程函数的编写来实现其如何处理消息的方式。例如:#include#include /*LRESULT CALLBACK WinProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam){ return DefWindowProc( hWnd, uMsg, wP原创 2015-07-09 17:01:45 · 1706 阅读 · 0 评论 -
linux下通过调用fork函数实现多进程
#include #include #include #include int main(void){ pid_t pid = fork(); if(!pid){ printf("the id of Children is %d\n",getpid()); printf("the id of Parents is %d\n",getppid()); exit(0原创 2014-04-11 01:21:14 · 2059 阅读 · 0 评论 -
生成日期类 使头文件和实现文件分离
写一个日期类 有三个参数的构造函数 默认值 是2014年5月8日。要求可以显示日期 还可以 设置日期 日期的默认值是 2014年1月1日 。 还要求 头文件 和实现文件分离。原创 2014-05-09 00:24:59 · 1039 阅读 · 0 评论 -
库函数qsort的实现
实现全能的qsort,既能实现结构体排序,又能排int,double,等等错误的原因是没有考虑到自己定义的cmp函数的返回值是0 和1 main.c#include "qsort.h"int cmp(const void *p1, const void *p2){ return *(int *)p1 < *(int *)p2;}void show(int size,int a原创 2014-04-01 00:38:33 · 1023 阅读 · 0 评论 -
宏定义,条件预编译,多文件编程
宏定义的用法:#include#define PI 3.14#define CH(x) x='A'?tolower(x):toupper(x)#define C(x) #x#define INTV(n) i_##nint main(){ int num = 2; printf("%lf\n",num * num * PI); char ch = 'A';原创 2014-03-20 01:02:07 · 1274 阅读 · 0 评论 -
信息系统修改版 c语言 控制台版
用文件来存储用户储存的信息,整形的id,age和浮点型的salary 和字符串的名字并且对id来进行查重操作。 缺点是 文件的查重操作必须是上一次保存后信息存储文件有数据后才可以进行。保存文件的代码:#include #include #define Size 20int judge(int id){ FILE *p_judge = fopen("info.txt","rb")原创 2014-03-19 00:13:29 · 1495 阅读 · 2 评论 -
排序算法和查找 例子详解
选择排序#includevoid select_sort(int data[],int size){ int i,j; for (i = 1;i < size; ++i){ int pos = i - 1; for(j = i - 1; j < size; ++j){ if(data[pos] > data[j]){ pos = j原创 2014-03-30 14:11:38 · 982 阅读 · 0 评论 -
聊天室客户端应用程序
#include #include #include #include #include #include #include #include #include #include #include //定义全局的socket文件描述符int sockfd;//初始化socketvoid init();//启动客户端void start();// 销毁客户端vo原创 2014-04-29 01:22:11 · 1322 阅读 · 0 评论 -
指针的疑难解释
先上图make an example:int num = 1;int * p = #注释:-> 代表的意思4 -> num5 -> &num6-> *(&num) 即num变量存储的内容1 -> p2 -> &p 指针的地址3 -> *(&p) 指针p变量中所存储的内容下面做一个指针来遍历数组内容的演示:#include原创 2014-03-18 00:16:13 · 823 阅读 · 0 评论 -
指针函数 的解释c语言
指针函数,主要是看最后的两个字,是函数但是他的返回值是一个指针。然后下面我就举一个指针函数的小例子。#include int *reverse(int *p,int size){ //将数组翻转 int i = 0; for (i = 0;i < size;i++){ *(p + i) = 0 - *(p + i); } return p;}int原创 2014-03-17 23:47:02 · 884 阅读 · 0 评论 -
平衡二叉树的构建 用函数回调来扩展程序 c语言实现
构建平衡二叉树 6 3 8 1 4 10多文件编程实现tree.h#ifndef __TREE_H__#define __TREE_H__void init();vo原创 2014-03-28 00:32:57 · 978 阅读 · 0 评论 -
扫雷游戏 控制台版 C++
需要开一个map.txt 写入地图地图中 *表示空地 ; x表示地雷**********************x*******************************************************************然后就是扫雷的控制台代码了,只简单的检测了一下#include #include #def原创 2014-03-16 02:02:17 · 1708 阅读 · 0 评论 -
文件复制 c语言实现
文件复制,在linux中,将生成的read.o 重新文件拷贝一份复制到ReadCopy.o中,并且更改ReadCopy.o文件的操作权限。使其能够正常运行。#include int main(){ FILE *r_file = fopen ("read.o","rb"); FILE *w_file = fopen ("ReadCopy.o","w"); char temp[10];原创 2014-03-14 00:32:10 · 1322 阅读 · 0 评论 -
文件读入操作 信息系统 c语言版
#includeint main(){ int id,age,judge; float salary; FILE *p_file = fopen("record.bin","rb"); printf("The information system\n"); do{ judge = fread (&id,sizeof(int),1,p_file); if (!judg原创 2014-03-14 00:12:57 · 1162 阅读 · 0 评论