学习笔记
Handle_with
这个作者很懒,什么都没留下…
展开
-
多态的底层原理
class Animal { public: virtual void Speak() { cout << "动物在说话。" << endl; } }; class Cat :public Animal { public: void Speak() { cout << "猫在说话" << endl; } }; Animal类中的speak()加virtual之前 加virtual之后 类中存放一个指针v(virtual)f(func原创 2021-03-03 17:23:31 · 253 阅读 · 1 评论 -
菱形继承笔记
class Animal { public: int m_Age; }; class Sheep: public Animal{}; class Tuo: public Animal{}; class SheepTuo :public Sheep, public Tuo{}; Sheep类和Tuo类都继承Animal类,SheepTuo类又同时继承Sheep类和Tuo类,这时会有两个m_Age,输出m_Age时编译器会报错。 解决方法为:在继承时加一个virtual class Sheep:virtua原创 2021-03-03 16:16:39 · 121 阅读 · 1 评论 -
前置递增(递减)和后置递增(递减)的运算符重载笔记
前置 自定义一个Int类 class Int { public: Int() { m_Num = 0; } private: int m_Num; }; Int& operator--() { m_num--; return *this; } 前置++运算不需要传入参数,返回到自身,引用是为了始终对一个对象进行操作 后置 Integer operator--(int) { Integer temp = *this; m_num--; return temp原创 2021-02-28 11:04:38 · 533 阅读 · 1 评论 -
黑马 通讯录管理系统
具体功能 1.添加联系人:向通讯录中添加联系人(姓名,性别,年龄,电话,住址) 2.显示联系人:显示目前通讯录中所有联系人的信息 3.删除联系人:在通讯录中删除指定联系人的信息 4.查找联系人:查找并显示出指定联系人的信息 5.修改联系人:修改指定联系人的信息 6.清空联系人:清空通讯录中所有联系人的信息 0.退出通讯录:推出通讯录 通讯录及联系人结构体 struct Member { string name; int sex; int age; int phone; string addr; }原创 2021-02-06 10:16:10 · 541 阅读 · 0 评论 -
C++中define宏定义和const常量的区别
在我用define定义一个最大值MAX时弹出一个小提示。 于是我去学习了一下用#define和用const有什么区别。 简单来讲就是#define仅仅是一种替换(并未分配内存),而const相当于创建了一个变量(分配内存)。 #include<iostream> using namespace std; int main() { int num = 2; #define s1 num+num #define s2 s1*s1 cout << s2 << endl;原创 2021-02-02 09:37:38 · 310 阅读 · 0 评论 -
关于指针和cost关键字的小应用
关于指针和cost关键字的小应用 第一次写博客,半记录半分享我在学习C++时候感觉需要记录的小技巧。 利用指针节省内存空间 当调用一个函数时用地址传递要比值传递节省内存空间的占用 假如我们定义一个结构体Student struct Student { string name; int age; int score; }; void printf1(Student p) { cout << "子函数1中的姓名: " << p.name << " 年龄: " <原创 2021-02-01 10:15:55 · 357 阅读 · 0 评论