
c++
nchangyu
这个作者很懒,什么都没留下…
展开
-
C和c++基础回顾1
1、C和C++区别(1)C语言是一个结构化语言,它的重点在于算法与数据结构,主要用于嵌入式领域,驱动开发等于硬件直接打交道的领域,C++是面向对象的编程语言,其偏重于构造对象模型,并让这个模型能够契合与之对应的问题,可以用于应用开发,用户界面等操作系统打交道的领域(2)C++增加了C不具有的关键字,C程序员可以省略函数原型,而C++不可以,一个不带参数的C函数原型必须把void写出来,而C++可以使用空参数列表(3)C++中new和delete是对内存分配的运算符,取代了C中的malloc和fr原创 2021-08-11 19:49:12 · 323 阅读 · 0 评论 -
希尔排序
百度:希尔排序(Shell's Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。using namespace std;#include<iostream>#include<assert.h>void ShellSort(char* arr...原创 2019-01-03 18:29:32 · 118 阅读 · 0 评论 -
学习智能指针Auto_ptr
刚接触智能指针,先写下来以免忘记,可能会有解释不正确的地方using namespace std;#include<iostream> //智能指针都是栈上的对象 template<class T> class Autoptr{ ...原创 2018-12-04 15:32:39 · 192 阅读 · 0 评论 -
strcpy字符串复制
2、strcpy字符串复制strcpy是将字符串str2复制到字符串str2且覆盖掉原来的字符串using namespace std;#include<iostream>#include<assert.h>char* Mystrcpy(char* dest,const char*src){ char* ptr = dest; assert(src&...原创 2018-11-19 19:55:36 · 1985 阅读 · 0 评论 -
strstr字符串查找
1、查找字符串strstr是在字符串str1中查找是否含有字符串str2,如果有则返回字符串,无则返回NULL,没有找到字符串using namespace std;#include<iostream>#include<assert.h>char* Strstr(char* dest, char* src){ char* ptr = dest; ...原创 2018-11-19 19:19:29 · 3901 阅读 · 1 评论 -
memcpy字符复制
5、memcpy复制字符memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。using namespace std;#include<iostream>#include<assert.h>void* Mymemcpy(char* dest,char* src,int n){ assert(d...原创 2018-11-21 19:47:55 · 1821 阅读 · 0 评论 -
strcmp字符串比较
4、strcmp字符串比较,比较字符串str1和str2是否相同。如果相同则返回0;如果不同,在不同的字符处如果str1的字符大于str2的字符,则返回1,否则返回-1using namespace std;#include<iostream>#include<assert.h>int Mystrcmp(const char* dest, const cha...原创 2018-11-20 20:08:56 · 2648 阅读 · 0 评论 -
strcat 连接复制
3、strcat 复制连接strcat将str2的字符串复制到str1的尾端,不覆盖str1进行复制,using namespace std;#include<iostream>#include<assert.h>char* mystrcat(char* dest, const char* src){ char* ptr = dest; assert...原创 2018-11-20 18:51:46 · 449 阅读 · 0 评论 -
冒泡排序
最容易写的冒泡排序using namespace std;#include<iostream>#include<assert.h>void BubbleSort(char *arr,int len){ assert(arr); assert(len); for(int i = len; i >0; i--){ for(int j = 0; j ...原创 2019-01-16 19:01:28 · 130 阅读 · 0 评论 -
A+B算法
using namespace std;#include<iostream>#include<string>#include<stdio.h>#include <stdlib.h>int Sum(int a,int b){ int s = a^b; //求a+b二进制本位和 int ...原创 2019-02-28 19:15:48 · 1114 阅读 · 0 评论 -
C++运算符重载
#include <iostream>using namespace std;class Box {public: double volume() { return (Length*Width*Height); } void setlength(double L) { Length = L; } void setWidth(double W) { Wi...原创 2019-08-01 15:47:37 · 158 阅读 · 0 评论 -
继承、多继承
基类和派生类 c#Rectangle rect =new Rectangle();rect.SetWidth(5);rect.SetHeight(7);Report.Info("矩形面积:"+rect.getArea()); class shape{ public void SetWidth(int W){ Width=W; } p...原创 2019-07-24 15:07:12 · 127 阅读 · 0 评论 -
VS中MFC学习
1、建立MFC工程自动生成.rc,在这里你可添加对话框的元素,如:在对话框中右键添加类,在这里写对对话框的操作,自己不需要再重新新建,控制对话框用ID,添加消息响应,,在stdafx.h添加需要常用的.h文件2、调试打开MFC编译成功的.exe文件,VS-调试-附加到进程在程序中打断点,打开.exe,在对话框中进行操作就可以调试了3、部分记录.r...原创 2019-05-18 15:55:53 · 6130 阅读 · 0 评论 -
二叉树遍历
1、创建二叉数 按先序遍历创建按先序遍历输入序列为{1, 2, 4, '#','#',5,'#','#',3 , 6,'#','#','#'},#为代表无节点,BinaryTree<int> tree(Array,13,'#');这里的13为遍历数组个数, 可以写为{1, 2, 4,...原创 2019-03-26 20:16:59 · 234 阅读 · 0 评论 -
VS配置Sqlite
下载路径:https://www.sqlite.org/download.html1、首先解压出三个文件sqlite3.dll、sqlite3.def、sqlite3.h2、为了简单,在vs下找到C:\Program Files (x86)\Microsoft VisualStudio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\...原创 2019-03-19 15:12:42 · 476 阅读 · 0 评论 -
通话录
简易通话录 实现一个通讯录; 通讯录可以用来存储1000个人的信息,每个人的信息包括: 姓名、性别、年龄、电话、住址 提供方法: 1. 添加联系人信息 2. 删除指定联系人信息 3. 查找指定联系人信息 4. 修改指定联系人信息 5. 显示所有联系人信息 6. 清空所有联系人 7. 以名字排序所有联系人 我们可以用三个模块来处理这个问原创 2017-09-28 19:52:21 · 683 阅读 · 0 评论 -
多态
1、多态引入–数据的类型 数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。变量是用来存储值的所在处,它具有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。 对象的类型: 静态数据类型 对象声明时的类型。在编译期间就可确定。 动态数据类型 目前所指对象的内容,是在运行期间才确定的。 2、多态: 所谓多态,就是多种形态。不同的对象原创 2017-07-27 14:32:15 · 292 阅读 · 0 评论 -
C++中的继承问题
1、c++继承关于子类的默认函数的写法2、分析菱形继承的问题3、分析虚拟继承是怎么解决二义性和数据冗余的1构造原则如下原创 2017-07-23 14:14:47 · 362 阅读 · 0 评论 -
C/C++动态内存管理
1:总结并剖析malloc/free和new/delete之间关系和差异。 2:剖析new/delete、new[]/delete[]到底做了些什么事情。 3:实现NEW_ARRAY/DELETE_ARRAY宏,模拟new[]/delete[]申请和释放数组。原创 2017-07-03 22:36:46 · 253 阅读 · 0 评论 -
C++类和对象--完成Complex的编写
// 1.完成四个默认成员函数 // 2.比较运算符 // 3.前置后置++和+/+=的实现 // 4.其他--/-/-=/乘除等等就不做要求了,想多练习的可以去实现一下。原创 2017-06-29 14:49:04 · 433 阅读 · 0 评论 -
C++类和对象1--四个默认函数+运算符重载
1:整理类和对象的基础知识,如类的定义,访问限定符,面向对象封装性,对象的大小计算等等。 2:整理四个默认成员函数及运算符重载相关知识 3:整理隐含的this指针等等,及对运算符重载背后做的事情。原创 2017-06-29 10:38:23 · 315 阅读 · 0 评论 -
讨论构造拷贝的N种调用情况的问题
1、总结C++对传参和传返回值时构造的优化处理在c++中,传参和传返回值时,如果是引用类型,则不用调用拷贝构造函数,直接返回别名 当语句为一个表达式时,编译器会选择优化,将构造函数和拷贝构造合并 在c++中调用几次构造函数和拷贝构造函数,就会相应的调用几次析构函数。 只有当一个对象已经存在时,d=f()才调用赋值运算符重载,如果对象不存在,则调用的是构造函数。2、using na...原创 2019-04-18 18:14:19 · 111 阅读 · 0 评论 -
c++入门基础知识
1、命名空间2、C++基本的输入输出流3、重载(C++为什么支持重载)4、C++缺省参数5、指针和引用(概念,使用方法,做参数,做返回值的作用,指针和引用的区别)原创 2017-06-28 16:27:14 · 207 阅读 · 0 评论