随笔分类 - C++
摘要:1.概念 在C++中,派生类继承了基类的成员变量和成员函数,但有时,派生类不希望执行基类中定义好的某些成员函数, 这时,派生类可以通过虚函数这一机制来重新定义成员函数。例如。 输出结果:A B 当我们在基类的成员函数声明时加上virtual关键字,就使得fun()函数成为了虚函数,在派生类中,可以重
阅读全文
摘要:1.函数模板 1.模板概念 当一个函数进行的操作对很多类型都适用时,我们没必要重载多个函数。可以定义一个通用 的函数模板。看一个栗子 模板关键字以template开始,后面跟一个模板参数列表。在调用函数时,编译器会用函数实参来为我们推断模板参数, 生成相应的函数。 2.模板类型参数 一般的,模板参数
阅读全文
摘要:C++运算符的重载 1.基本概念 运算符的重载是具有特殊名字的函数,他们的名字由关键字operator和运算符号决定 重载运算符的参数数量与该运算符的运算对象数量一样多,对于二元运算符,左侧的对象传 给第一个参数,右侧的对象传给第二个参数。 如果运算符函数时成员函数,第一个对象自动绑定到this指针
阅读全文
摘要:4.赋值运算符重载函数 1.函数的作用,参数和返回值 1.作用 赋值运算符重载函数用于类对象的赋值操作,当我们未实现该函数时,编译器会自动为我们实现该函数。 2.参数 赋值运算符重载函数的参数是常引用类型的类类型,声明为常量的好处是可以接受常量参数和非常量参数, 声明为引用类型使得参数没有了临时对象
阅读全文
摘要:3.析构函数 1.析构函数的概念 析构函数可以理解为反向的构造函数,他在对象生命期结束时,调用析构函数释放对象的内存空间。具体的析构函数在这几种情况下调用: 1.堆上的空间(使用new创建的对象)调用delete时 2.本地对象超出作用域 3.临时对象的销毁 4.显式的调用析构函数 2.析构函数注意
阅读全文
摘要:2.拷贝构造函数 1.拷贝构造函数的概念 拷贝构造函数是一种特殊的构造函数,负责类对象之间的复制,与构造函数相同,当我们没有实现拷贝构造函数时,编译器会为我们产生默认拷贝构造函数,举个栗子: class A { public: A(int _a,int _b) : a(_a),b(_b){ std:
阅读全文
浙公网安备 33010602011771号