自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 C++虚继承

参考博客:https://www.cnblogs.com/BeyondAnyTime/archive/2012/06/05/2537451.html子类只有虚继承父类,子类才能在自己的类中声明新的虚函数

2019-04-16 09:39:07 126

原创 VS2017创建动态库dll工程并测试

新建项目,选择"Windows桌面向导"选择动态链接库(.dll),空项目,确定在.c中写函数的实现:每个函数前面加上_declspec(dllexport)关键字:点击生成--重新生成解决方案:则会在DeBug目录中生成.lib和.dll文件:创建一个动态库测试项目(空项目创建):测试项目文件夹中要包含.dll和.lib文...

2019-04-14 09:58:11 2309

原创 拷贝构造函数_重载=操作符的区别_深拷贝

#define _CRT_SECURE_NO_WARNINGS#include"iostream"using namespace std;/* 如果要考虑深拷贝问题,必须写拷贝构造函数和重载=操作符函数 深拷贝原则: 1.判断原内存空间是否为空,不为空则释放掉 2.分配新的内存空间 3.拷贝 调用拷贝构造函数: 用对象初始化(定义的同时赋值)另一个对象时 调用重载=操作...

2019-04-13 14:53:45 599

原创 拷贝构造函数_对象做函数参数

#include"iostream"using namespace std;class Test05{public: Test05() { a = b = 0; cout << "默认构造函数" << endl; } Test05(int a, int b) { this->a = a; this->b = b; cou...

2019-04-13 14:41:00 245

原创 拷贝构造函数_函数返回值是匿名对象

#include"iostream"using namespace std;/* 结论1:函数的返回值是一个匿名对象时,会调用匿名对象的拷贝函数 结论2:有关匿名对象的去和留: 如果用匿名对象 初始化 另一个同类型的对象 匿名对象被接收 不会调用析构函数 如果用匿名对象 赋值给 另一个同类型的对象(已经初始化:默认或者有参数) 匿名对象被析构*/class T...

2019-04-13 14:38:09 916 3

原创 多态原理探究_VPTR指针

#include"iostream"using namespace std;/* 当类中声明虚函数时,编译器会在类中生成一个虚函数表 虚函数表是一个存储类成员函数指针的数据结构 虚函数表是编译器自动生成与维护的 虚函数会被编译器放在虚函数表 存在虚函数时,每个对象中都有一个指向虚函数表的指针VPTR指针 编译器做了提前布局 虚函数会使类的sizeof大小增加4字节*/...

2019-03-23 09:39:52 419

原创 链表基本操作:增删查改、逆序

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct Node{ char data[64]; Node* next;}Node;int createList(Node** list) { i...

2019-03-22 20:57:11 141

原创 二维数组的三种内存模型

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h>//把p1和p2中的字符串拼接到p3中//p3每行的长度不固定int myStrCat(char* p1[],int num1,char p2[10][30],int num2,ch...

2019-03-22 20:13:06 550

原创 结构体套二级指针

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h>typedef struct Teacher { char name[64]; int age; char** stuName;//每个老师带n个学生(第一维),每个学生的名字...

2019-03-22 20:07:18 766

原创 字符串strcpy 动态创建和释放问题

int main() { char *str = NULL; str = (char*)malloc(5); strcpy(str, "1234");// strcpy(str, "12345");//释放内存出错// strcpy(str, "123456");//释放内存出错 puts(str); /* 在给字符串分配内存时,要考虑到末尾的'\0' 虽然能成功打印,但...

2019-03-22 19:54:45 682

原创 字符串反转_递归

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h>int inverse(char* str){ char* p1 = str; char* p2 = p1+strlen(str)-1; char tmp; while(p2&...

2019-03-22 19:50:58 367

原创 动态创建和释放二维数组

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h>//动态创建二维数组,三级指针做输出int get2DArr(char*** arr/*out*/, int row, int col) { ; char** p = NULL...

2019-03-22 19:33:04 513

原创 多态成立的三个条件

#include"iostream"using namespace std;class Parent01{public: virtual void func() { cout &lt;&lt; "父类的func" &lt;&lt; endl; }};class Child01 :public Parent01//1.继承{public: virtual void f...

2019-03-17 14:57:47 366

原创 不定行长二维数组(字符串数组)

#define _CRT_SECURE_NO_WARNINGS#include&lt;stdio.h&gt;#include&lt;string.h&gt;#include&lt;stdlib.h&gt;/*有一串字符串char* str="This,is,a,test,"1.以逗号分隔字符,形成二维数组(字符串数组),并传出来: arr={"This","is","a"

2019-03-09 15:17:58 900

原创 动态创建和释放三维数组

//动态创建三维数组,四级指针做输出int get3DArr(char**** arr,int chl,int row,int col) { char*** p = NULL;//辅助指针 p = (char***)malloc(sizeof(char**)*chl); for (int i = 0; i <chl ; i++) { p[i] = (char**)malloc...

2019-03-09 14:45:39 656

原创 sizeof求数组长度

int arr1[10]={1,2,3,4}; int arr2[]={1,2,3,4}; int len1 = sizeof(arr1)/sizeof(arr1[0]);//10 int len2 = sizeof(arr2)/sizeof(arr2[0]);//4 char arr1[10][30]={"aaaaaa","1111","00000000","AAAAA"}...

2019-03-09 13:22:15 865

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除