C++
山城人家
活到老 学到老
展开
-
c++ 构造函数和析构函数
类的构造函数和析构函数 构造函数在类中声明的一种特殊的成员函数 ——与所属类名相同 ——无返回值 ——创建对象时有系统自动调用 ——被声明为公有函数 ——由new运算符动态创建对象系统自动调用 具有一般成员函数所有的特性 可以访问类的所有数据成员 可以是内联函数 可以无参 可以带参:定义有参的时候 是可以设置形参默认值的 可以重载:一个类 中构造函数可以有多个 以便针对对象不同的特性进行初始化 #include <instream.h> class CMyclass { int a,b; pub原创 2021-11-03 14:45:08 · 263 阅读 · 0 评论 -
C++内联函数
为什么需要内联函数? 调用函数比求解表达式要慢得多,在大多数机器上,调用函数要做很多工作:调用前要先保存寄存器,并在返回时恢复,复制实参,程序还需要转向一个新位置执行。 C++中支持内联函数,目的是提高函数得执行效率,用关键字inline放在函数定义(注意是定义而非声明)的前面即可将函数指定为内联函数,内联函数通常就是将它在程序中的每个调用点上“内联的展开”假设我们将 Max 定义为内联函数 inline int max(int a, int b) { return a > b ? a : b;原创 2021-11-03 14:02:53 · 108 阅读 · 0 评论 -
for(auto x : nums)
class solution { public: int findDuplicate(vecto]<int> &nums) { int n = nums.size() - 1; int l = 1, r = n; while(l < r) } }原创 2021-11-02 14:38:17 · 230 阅读 · 0 评论 -
多态性和虚函数
多态和虚函数 什么是多态性 如果一种语言只有类,没有多态,是不能称为面向对现象语言 如果一种语言只支持类概念,那么只能称为使用/基于对象的语言 面向对象编程的多态性包括: 向不同的对象发送同一条消息(消息就是函数调用) 不同的对象在接收时候会产生不同的心行为(执行不同的函数) 函数名相同,执行的动作不一样 静态多态:函数重载 动态多态:函数重写 c++函数重写,必须先把父类的成员函数设定为虚函数 虚函数:virtual 返回值 函数名(); class Hero { protected原创 2021-11-02 10:08:52 · 56 阅读 · 0 评论 -
多态与虚函数
函数重载是静态多态性 函数重写是动态多态性 纯虚函数没有函数体 一个类中所有函数都是纯虚函数,被称为抽象类 抽象类不能创建对象原创 2021-11-02 09:37:26 · 54 阅读 · 0 评论 -
c++ 友元函数 / 继承和派生
重载运算符 //重载+运算符 const Integer operator+(const Integer & other) const; const Integer operator-(const Integer & other) const; const Integer operator*(const Integer & other) const; const Integer operator/(const Integer & other) const; const Int原创 2021-10-28 14:14:10 · 831 阅读 · 0 评论 -
C++运算符重载 const用法
一、 所谓重载就是赋予新的含义 同一个运算符可以有不同的功能 <<既可以是位移运算符,也可以配合cout <<“”<<endl;向控制台输出数据 C++本身已经对这些运算符进行了重载 如果让运算符重载了,就可以让两个对象相加 class integer { public: integer():m_num(0){} integer(int num):m_num(num){} const integer operator+(const integer & o原创 2021-10-26 17:04:05 · 1412 阅读 · 0 评论 -
C++ 类和对象
一、什么是面向对象? 一种模拟现实的方法 对象是属性和方法的集合,与客观实体有对应关系 面向对象不是某一种语言的特性 而是一种编程思想 二、抽象和类 抽象: 1)从具体事物抽取共同的本质特征 类 1)类是一种将抽象转换为用户定义类型的工具 2)将数据表示和操作数据的方组合成为一个整体 3)类的实例称为对象 4)类中的变量和函数称为成员 /**地主类的声明*/ using namespace std; class LandOwner { public: //共有的 LandOwner(); /**原创 2021-10-25 13:16:45 · 110 阅读 · 1 评论 -
C++学习第一天
第一个C++代码 #include <iostream> //输入输出流 using namespace std; int main(void) { cout << "哈哈!" << endl; //<< 表示把哈哈!发送给cout 打印;endl 是控制符,换行(\n) return 0; } endl:1.换行 2.清空缓冲区 \n:1.换行 使用using namespace std 例如: #include #include #inclu原创 2021-10-20 15:51:13 · 58 阅读 · 0 评论