小疑惑
Littlsecr
这个作者很懒,什么都没留下…
展开
-
[]运算符重载——已解决
要求: 在对数组元素下标引用时进行检查, 并在下标越界时终止程序。实现:对数组进行排序,并实现元素查找#include <iostream>#include <stdlib.h>using namespace std; template <class T>class BoundArray{ int n; T *data;public...原创 2018-06-13 00:42:52 · 299 阅读 · 0 评论 -
函数模板 与 类模板
1、函数模板template <class T1, class T2> // 模板形参T search(T1 arr[], T2 x) // 必须出现所有模板形参, (T1 arr[]):error{ // ...... return arr[i];}int main(){ //...... search(arr, 10); // 调用格式与普通函数相同 retur...原创 2018-06-18 15:34:49 · 157 阅读 · 0 评论 -
输入、输出运算符重载???
1、>>运算符重载ostream operator >> (ostream &o, RMB &r){ o << r.x << endl; return o; // 返回ostream对象是为了与其它插入运算符连接起来, 起到一个连续输入或连续输出的效果}2、<<运算符重载istream operator >&原创 2018-06-18 15:15:07 · 294 阅读 · 0 评论 -
转换运算符
1、当要将对象进行强制类型转换时需要重载转换运算符()2、实现:RMB->doubleoperator double() // double 就是返回类型,不需要在函数前额外声明{ return x / 100.0; // 一定要有.0, 否则还是返回整型}3、与转换构造函数互逆:double->RMBRMB(double x_val){ x = x_val;}...原创 2018-06-18 15:08:53 · 212 阅读 · 0 评论 -
什么时候要有拷贝构造函数?
1、构造函数时用实例化的对象进行构造int main(){ Student a(10, 2); Student b = a; // 拷贝构造,并且要特别注意指针数据成员的赋值,避免出现野指针的情况}2、返回临时对象(而不是返回对象的引用)rmb operator+(const rmb &r, int c){ int x = r.a + c; rmb b(x); return...原创 2018-06-18 14:42:29 · 673 阅读 · 0 评论 -
友元函数 友元类
1、友元函数不是成员函数,它是类的朋友,因此可以访问类的全部成员(三种都可以)2、友元的声明部位是任意的, 定义可以在类外也可以在类内3、友元的使用 ①一个友元函数访问两个类的成员:两边都进行声明, 这样函数就可以直接访问两个类的成员了class vector{public: //...... friend void find(matrix &m, vector &v...原创 2018-06-18 14:30:45 · 290 阅读 · 0 评论 -
静态数据成员 与 静态成员函数
class Student{protected: static int numOfStudent; public: static int number(); // 静态函数只可访问静态成员(函数、数据)};int Student::numOfStudent = 0;int Student::number(){ return numOfStudent;}PS: 静态成员函数与...原创 2018-06-18 13:04:12 · 367 阅读 · 0 评论 -
赋值运算符 与 深拷贝
1、深拷贝与浅拷贝(对于拷贝构造函数而言) 浅拷贝:将一个对象的值完全复制给另一个对象,二者拥有同一资源,容易出现重复释放的错误。 深拷贝:复制的过程中重新分配资源。 2、拷贝构造函数 与 赋值运算符class Ctime{ //......};void func(const Ctime &r){ Ctime newR = r; // 拷贝构造函...原创 2018-06-17 17:39:59 · 354 阅读 · 0 评论 -
前置运算符重载 后置运算符重载
// 前置重载time &operator++() // 返回当前对象的引用{ x++; return *this;}// 后置重载time operator--(int) // 没有&{ time a = *this; x--; return a; // 返回当前对象, 当对象性质中包含有指针数据的时候需要增加拷贝构造函数}...原创 2018-06-16 14:39:16 · 675 阅读 · 2 评论 -
虚析构函数
基类指针指向了派生类对象,而基类中的析构函数却是非virtual的,当前为静态绑定,指针的静态类型为基类指针,因此在delete时候只会调用基类的析构函数,而不会调用派生类的析构函数。当将基类的析构函数改为虚析构函数时,派生类的空间就可以释放了。...原创 2018-05-31 17:08:01 · 289 阅读 · 0 评论 -
基类和派生类的构造和析构顺序
构造:先基类,后派生类析构:先派生类,后基类同时:无需手动析构基类,在delete派生类的同时会析构基类。原创 2018-05-31 17:08:07 · 3873 阅读 · 0 评论 -
C++访问权限 与 继承方式
1、成员函数能访问哪些成员?2、继承后派生类中成员的变化总结: 原来较宽松的根据继承方式的严格程度进行降级。 protected 如:public ——————> protected...原创 2018-06-18 16:37:16 · 172 阅读 · 0 评论