摘要: 抽象类 纯虚函数,虚函数后面加 = 0 含有至少一个纯虚函数的类称之为抽象类 抽象类不能实例化对象 纯虚函数声明不能含有函数体,函数体可以放在类外 纯虚析构函数必须有函数体 如果子类没有重写父类的纯虚函数,子类仍然是个抽象类 应用 规范化派生类的接口,和某些不适合生成对象的父类 Override和f 阅读全文
posted @ 2020-09-04 11:06 特权E5 阅读(363) 评论(0) 推荐(0)
摘要: winhex应用中显示如下图所示 以上两图说明不同的无参函数名全部都是函数名@@YAXXZ 两个int用hh@表示 Char用d表示 第四位表示参数为位 为了探究前面的数改了一下类型 可以看到改变int第三位由x变成了h 可以看到调用约定是第一二位第三位是函数类型第四位是参数位 阅读全文
posted @ 2020-09-04 10:42 特权E5 阅读(192) 评论(0) 推荐(0)
摘要: 默认参 l 允许多个默认参 l 从右向左给默认参数,不间断 l 默认参只能放到声明或者定义中 l c++ 允许给函数形参提供默认实参,当此参数没有指定实参的时候,使用默认实参;如果指定了实参, 则使用指定的实参 语法,形参后跟 = 默认实参 引用 l c++ 允许定义一个引用变量,这个引用变量和一个 阅读全文
posted @ 2020-09-04 10:25 特权E5 阅读(177) 评论(0) 推荐(0)
摘要: 位段: Struct MYbit{ Int a :10;//表示a占用10位 Int b :1;//表示b占用1位 Int c :10;//表示c占用10位 } 位段可以进行赋值操作 如果赋值的大小超过位段所能表示的最大数 那么首先把该值展为2进制 取后n位(n是该位段的位数); 文件操作函数: t 阅读全文
posted @ 2020-09-04 10:21 特权E5 阅读(381) 评论(0) 推荐(0)
摘要: 首先写了一个简单的申请堆空间 给nCount赋值5,申请的空间大小为20 。我们首先看到pstr的内存地址 将这个地址减0x20得到地址 阅读全文
posted @ 2020-09-04 09:57 特权E5 阅读(127) 评论(0) 推荐(0)
摘要: #pragma once //迭代器模板 可以使用类模板 #include <exception> #include <string> using namespace std; template<typename T> class MyVector { public: /** 迭代器 **/ cla 阅读全文
posted @ 2020-09-04 08:03 特权E5 阅读(299) 评论(0) 推荐(0)
摘要: #pragma once //迭代器的实现 class MyVector { public: /** 迭代器 **/ class Iterator { friend class MyVector; public: Iterator(int* pos) :m_pos(pos) { } Iterator 阅读全文
posted @ 2020-09-04 08:01 特权E5 阅读(717) 评论(0) 推荐(0)
摘要: #pragma once class CAVLTree { private: struct TreeNode { TreeNode(const int& nVal) :m_nVal(nVal) {} int m_nVal = 0; //数据 int m_hHeight = 1; //叶子结点的高度 阅读全文
posted @ 2020-09-03 12:00 特权E5 阅读(507) 评论(1) 推荐(0)
摘要: 二叉平衡树: 平衡二叉搜索树(Self-balancing binary search tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的常用实现方法有红黑树、AVL、替罪羊树、T 阅读全文
posted @ 2020-09-03 11:22 特权E5 阅读(1383) 评论(0) 推荐(0)
摘要: #pragma once #include "stdafx.h" #include "MyList.h" #include <exception> using namespace std; template<typename T> class CMyList { private: //结点 stru 阅读全文
posted @ 2020-09-03 10:57 特权E5 阅读(169) 评论(0) 推荐(0)