摘要: 1.二分法 1.不一定要有序:根据数据特性(排他性) 2.异或运算 1.交换两数 无进位相加 满足交换和结合率 n^0=n n^n=0 ab指向内存不能相同,内容可以相同。 2.一个数组中有一种数出现奇数次,其他出现偶数次,找到这种数。 设置变量eor=0,与所有数异或,最后得到这个数。 3.把一个 阅读全文
posted @ 2022-01-20 22:35 rippleD 阅读(32) 评论(0) 推荐(0)
摘要: 方法重载: 1.方法名必须相同 2.参数列表必须不同 3.其他修饰符可以相同,可以不同 4.可以抛出不同异常 方法重写: 1.方法名、参数列表、返回值类型必须相同 2.访问修饰符必须大于或者等于被重写的方法 3.重写的方法中,不能抛出新的异常或被重写的方法更多、更大的异常,但一定会抛出异常,也就是说 阅读全文
posted @ 2022-01-06 15:43 rippleD 阅读(672) 评论(0) 推荐(0)
摘要: 1.Node类(节点类) 数据成员: T data; //存放节点数据 Node<T> *next; //指向下一个类 注意: 需要在Node类里声明LinkList为友元类 friend class LinkList<T>; template <typename T> class Node // 阅读全文
posted @ 2020-11-30 19:03 rippleD 阅读(19) 评论(0) 推荐(0)
摘要: 基类指针指向基类(正常使用) 正常调用基类函数,不能调用派生类函数 基类指针指向派生类(多态性) 虚函数,则调用派生类函数(多态性根据指针所指向的对象类型) 非虚函数,调用基类的函数(根据指针本身基类指针的特性) 派生类指针指向基类 不要这么用 派生类指针指向派生类 正常调用派生类函数,在构造对象和 阅读全文
posted @ 2020-11-24 21:29 rippleD 阅读(14) 评论(0) 推荐(0)
摘要: 1.重载[ ] 注意:返回值类型是T,而并非类的引用 template <typename T> T & Point<T>::operator[](int index) { if(index==0) return _x; else return _y; } 2.重载<< template <type 阅读全文
posted @ 2020-11-24 21:20 rippleD 阅读(4) 评论(0) 推荐(0)
摘要: C++程序中,任何类都有默认的构造函数。错(当定义了构造函数就没有默认的构造函数,或者定义一个所有参数都带初始值的构造函数,他也为默认的构造函数,两者不能同时出现) 某函数的形参为引用型形参,则该引用的生命周期为函数调 用时存在,函数返回后不存在。(函数引用返回要注意对象生命期) 不能返回局部变量的 阅读全文
posted @ 2020-11-24 19:10 rippleD 阅读(13) 评论(0) 推荐(0)
摘要: 拷贝构造函数参数为什么必须使用类类型对象的引用传递?Student (const Student &t); 如果我们传递的不是引用,那么传递的是一个类对象,由于参数并没有初始化,所以会调用构造函数生成参数的一个对象对参数进行赋值,对参数进行赋值就会调用拷贝构造,而拷贝构造还是会调用构造函数对参数进行 阅读全文
posted @ 2020-11-22 21:43 rippleD 阅读(11) 评论(0) 推荐(0)