![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
cpp
Mathilda三三
这个作者很懒,什么都没留下…
展开
-
【c++】重载运算符|赋值运算符
运算符重载• 对已有的运算符赋予多重的含义• 使同一运算符作用于不同类型的数据时 -> 不同类型的行为• 运算符重载的实质是函数重载运算符重载为普通函数重载为普通函数时, 参数个数为运算符目数class Complex { public: Complex( double r = 0.0, double i= 0.0 ){ real = r; imaginary = i; } double real; // real part double imaginary; //原创 2020-05-19 05:14:30 · 544 阅读 · 0 评论 -
【c++】友元|this指针|常量对象/成员函数和常引用
友元函数一个类的友元函数可以访问该类的私有成员class CCar; //提前声明 CCar类, 以便后面CDriver类使用class CDriver { public: void ModifyCar( CCar * pCar) ; //改装汽车};class CCar { private: int price; friend int MostExpensiveCar( CCar cars[], int total); //声明友元 friend void CDriver:原创 2020-05-18 03:34:59 · 1046 阅读 · 0 评论 -
【c++】静态成员变量和静态成员函数|成员对象和封闭类
静态成员变量和静态成员函数在说明前面加了static关键字的成员。普通成员变量每个对象有各自的一份,而静态成员变量一共就一份,为所有对象共享。sizeof运算符不会计算静态成员变量。普通成员函数必须具体作用于某个对象,而静态成员函数并不具体作用于某个对象。静态成员不需要通过对象就能访问。如何访问静态成员:1)类名::成员名CRectangle::PrintTotal();2)对象名.成员名CRectangle r; r.PrintTotal();3)指针->成员名CRectan原创 2020-05-17 12:14:30 · 359 阅读 · 0 评论 -
【c++】复制构造函数|类型转换构造函数|析构函数
复制构造函数只有一个参数,即完成对同类对象的引用形如X::X( X& )或X::X(const X &),二者选一,后者能一常量对象作为参数如果没有定义复制构造函数,那么编译器生成默认复制构造函数。默认的复制构造函数完成复制功能。class Complex{ private: double real, imag;};Complex c1;//调用缺省无参构造函数Complex c2(c1);//调用缺省的复制构造函数,将c2初始化成hec1一样如果定义的自己的复制构造原创 2020-05-17 05:37:25 · 307 阅读 · 0 评论 -
【c++】内联成员函数和重载成员函数|构造函数
内联成员函数inline+成员函数整个函数体出现在类定义内部class B{ //inline+成员函数 inline void func1(); //整个函数体出现在类定义内部 void func2(){ };};void B::func1(){}成员函数的重载以及参数缺省重载成员函数成员函数带缺省参数class Location{ private: int x, y; public: void init(int x = 0, int y = 0); vo原创 2020-05-17 03:34:38 · 226 阅读 · 0 评论 -
【c++】对象类
对象的内存空间:对象的大小=所有成员变量的大小之和eg:class CRectangle{ public: int w, h; void Init(int w_, int h_){ w = w_; h = h_; } int Area(){ return w * h; } int Perimeter(){ return 2*(w + h); }};//必须要有分号CRectangle类的对象,sizeof(CRectangle) = 8(两个int)每个对象各自有原创 2020-05-16 12:52:06 · 342 阅读 · 0 评论 -
【c++】动态内存分配 | 内联函数和函数重载 |函数的缺省参数
用new运算符实现动态内存分配需要多少空间就分配多少第一种方法,分配一个变量:P = new Tp是类型为T *的指针,T是任意类型名。动态分配出一片大小为sizeof(T)字节的内存空间,并且将该内存空间的起始地址赋值给Pint *pn;pn = new int;*pn = 5;//往新分配出来的存储空间里写了个5第二种方法,分配一个数组:P = new T[N]p是类型为T 的指针,T是任意类型名,N要分配的数组元素个数,可以是整型表达式。动态分配出一片大小为Nsizeof(T)字原创 2020-05-16 08:32:21 · 199 阅读 · 0 评论 -
【c++】位运算 | 引用 | 常引用 | cost关键字和常量
位运算:特点:速度非常快,如果能在程序中合理使用将大大提高程序运行速度& 与:只有两个都是1才是1,否则为0可以把某些位清0且同时保留其他位不变,也可以用来获取某变量中的一位。eg:将int型低8位全置成0,其余位不变:n = n & 0xffffff00 或者n &= 0xffffff00如果n是short类型:n &= 0xff00如何判断一个int型变量n的第7位(从右往左,0开始数)是否为1?n& 0x80 == 0x800x80 =原创 2020-05-16 07:43:27 · 776 阅读 · 0 评论 -
【c++】函数指针和qsort库函数
在C语言或者C++语言中可以把一个函数的入口地址赋值给一个指针,这就叫函数指针,然后可通过函数指针来调用函数。C语言中:定义形式:类型名(*指针变量名)(参数类型1,参数类型2…)eg: int(*pf)(int,char)表示pf是一个函数指针,它所指向的函数,返回值是int,有两个参数,分别为int和char#include<stdio.h>void PrintMin(int a, int b){ if(a<b) print("%d", a); else pri原创 2020-05-16 05:46:52 · 207 阅读 · 0 评论 -
【C++】Leetcode Top 100 liked easy part
Mapmap 有 4 种:map<K,T> 每个键都是唯一的,不允许有重复的键,但可以保存重复的对象,只要它们的键不同。map容器中的元素都是有序的,元素在容器内的顺序是通过比较键确定的。默认使用 less 对象比较。multimap<K,T> 容器和 map<K,T> 容器类似,也会对元素排序。它的键必须是可比较的,元素的顺序是通过比较键确定的。和ma...原创 2020-02-29 07:03:08 · 219 阅读 · 0 评论