我这里使用的是vs2013 希望可以帮助到大家 第一个文件 MyString.h #pragma once #define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; class MyString{ friend o ...
分类:
编程语言 时间:
2020-01-14 17:49:55
阅读次数:
114
1.多态的基本概念 多态是C++面向对象三大特性之一 多态分为两类: 静态多态:函数重载 和 运算符重载属于静态多态,复用函数名 动态多态:派生类和虚函数实现运行时多态 静态多态 和 动态多态 区别: 静态多态的函数地址早绑定——编译阶段确定函数地址 动态多态的函数地址晚绑定——运行阶段确定函数地址 ...
分类:
编程语言 时间:
2019-12-27 23:19:30
阅读次数:
123
运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型 1.加号运算符重载 作用 :实现两个自定义数据类型相加的运算 c++ include include using namespace std; //左移运算符重载 class Person{ public: //1. ...
分类:
编程语言 时间:
2019-12-19 12:41:22
阅读次数:
100
函数定义期望 通过cout<<对象,打印出复数的实部和虚部,这样一来,就需要重载cout类的位移<<运算函数,但是我们并不能拿到cout源码,在visual studio我们看到的也仅仅是他的定义 若想访问c1的私有属性,则应当声明为友元函数 通过定义可以看出cout类的返回值是ostream类型的 ...
分类:
编程语言 时间:
2019-12-15 16:48:27
阅读次数:
242
运算符重载是为了解决这样一类问题:我们知道对于整型可以用二元运算符(就是+,-,*,/因为这些运算都是两个变量参与,所以谓之二元,相比之下一元运算符就是自增,自减运算)直接进行运算,但对于类这样的数据结构直接的加减运算显然不被支持,这就需要用到运算符重载的概念 全局函数形式 返回类型 operato ...
分类:
编程语言 时间:
2019-12-15 16:04:46
阅读次数:
76
问题的引出 都是字典惹的祸 字典为了提升查询效率,必须用空间换时间。 一般来说一个多想,属性多一点,都存储在字典中便于查询,问题不大。 但是如果数百万个对象,那么字典占的就有点大了。 这个时候,能不能把属性字典__dict__省了? python提供了__slots__ class A: x = 1 ...
分类:
其他好文 时间:
2019-12-09 19:23:40
阅读次数:
89
C++运算符重载总结(真的很详细了w(?Д?)w) 概述 运算符重载可以使得一些特殊类型参与运算,我是这样理解的。 使用友元形式的运算符重载 双目运算符 所以加减乘除就可以这样来进行声明了 单目运算符 如 等。下面以 来进行一个示例: 总结: 1. 运算符重载可以返回任何类型,甚至是 类型,但是通常 ...
分类:
编程语言 时间:
2019-12-07 21:33:53
阅读次数:
126
01 流插入 运算符重载的例子 还是以 类作为例子,假设想通过键盘的输入的内容,来初始化对象,则我们可以重载 类的流提取 运算符。 输入内容和输出内容: 04 小结 要想流插入 运算符能针对 自定义的对象 ,那么我们就需要 重载 针对该对象的 类的 运算符,并且只能 重载成全局的函数 ,然后在 类里 ...
分类:
编程语言 时间:
2019-12-02 13:44:42
阅读次数:
71
1. 双目运算符类成员函数重载 观察下列程序,掌握双目运算符的类成员函数重载方式。 #include<iostream> using namespace std; class complex { double real, imag; public: complex(double r = 0, dou ...
分类:
其他好文 时间:
2019-11-30 17:45:32
阅读次数:
87
POJ 3616 Milking Time DP 题意 给个时间长度N,现在有M个工作时间段和每个时间段能完成的工作,一次只能做一个工作并且一旦开始做就要把它做完,要求选择的两个工作时间段之间至少相差R时间(中间需要休息嘛)求选择那些工作N时间内能完成的最大工作量。输出最大值。 解题思路 对于这种一 ...
分类:
其他好文 时间:
2019-11-21 23:17:33
阅读次数:
135