随笔分类 - C++_语法基础_重写版
摘要:仿函数 /** 仿函数 */ #include<iostream> using namespace std; class MyClass { public: // 普通成员函数定义 int my_add(int x, int y) { return x + y; } // 仿函数定义 int ope
阅读全文
摘要:野指针:没有明确执向的指针,可能会胡乱指向任意一个变量;编程的时候绝不允许出现野指针; int *p; //错误,未初始化指向一块地址,会变成野指针 如果确实需要先不指定到需要使用的内存,那就先定义一个空指针; 》宁愿指向为空也不要为野;因为野指针你把握不住; 空指针:让指针指向NULL;就是指向为
阅读全文
摘要:模板: 在C++中允许函数重载,但函数重载每次都必须完全对上参数的顺序,类型和数量。 所以C++提供了另一种代码重用机制——“模板”,可以作为同一种类型函数的统一调用接口。 模板机制下可划分:1、函数模板 2、类模板 模板的语法 template <typename T> //单个数据类型templ
阅读全文
摘要:string类型·变量定义 C++ 中提供了一个 string 内建数据类型,它可以替代 C 语言中的 char* 数组。 使用 string 数据类型时,需要在程序中包含头文件<string> #include <iostream> #include <string> using namespac
阅读全文
摘要:1、重载 同一作用域的同名函数,重复定义;参数格式、参数顺序或者参数类型不同;函数重载和函数的返回值没有任何关系;(const类型的重载本质上是参数类型不同) 2、重写(覆盖) 有继承关系子类(派生类)重写父类(基类)的虚函数函数的返回值,函数名字,函数参数,必须和基类中的虚函数一致,主要就是覆盖基
阅读全文
摘要:操作符(运算符)重载 操作符重载指的是将 C++ 提供的操作符进行重新定义或者多重定义,使之满足我们所需要的一些功能。 在C++中,经常有需要对多个对象进行算术运算,但是对象比不是基本的数据类型,所以这些运算符都无法执行。为了让程序识别这些运算符,就需要对运算符进行重载 运算符重载也可以简单理解为在
阅读全文
摘要:虚(成员)函数: 在C++中,只有类中的成员函数能被声明为虚函数,顶层函数则不能被声明为虚函数;并且如果在类内声明类外定义,则只在类内声明时加virtual 声明虚函数是为了构成多态,多态需要继承关系,需要在类中声明; 虚函数能被继承:基类被声明为虚函数,那么派生类即便未添加virtual关键字声明
阅读全文
摘要:多态: 面向对象三大概念:封装、继承、多态!可想而知多态是何等的重要 什么是多态? 简单来讲就是通过 “虚函数” + “指向子类对象的父类指针”,实现对基类派生出来的不同子类的“统一操作”的过程,实际上就是实现“操作”代码复用; 因为子类都是由统一父类派生出来的,因此可以通过共同父类 “虚函数” 操
阅读全文
摘要:多继承 单继承:一个派生类只有一个基类,这就是单基类继承,简称“单继承” 多继承:一个派生类允许有两个及以上的基类,这就是多基类继承,简称“多继承” 单继承中,派生类是对基类的特例化,例如编程类书籍是书籍中的特例。而多继承中,派生类是所有基类的一种组合。 在多继承中,派生类继承了所有基类中的所有成员
阅读全文
摘要:C++继承和派生 继承和派生的概念: 继承和派生 是 “类” 和 “类” 之间的关系,描述的是从一个类到另一个类的过程,继承和派生是描述的同一个过程,只不过看待的角度不同 先出现的类是父类或基类,后生成的类是子类 继承:子类到父类叫做继承 派生:父类到子类叫做派生 由于派生类可以将基类的代码继承过来
阅读全文
摘要:友元函数和友元类 友元函数:通过friend关键字,将不属于当前类的函数在当前类中加以声明,使其成为友元函数,同时该函数能够访问private属性的成员变量。 友元类:有有元函数,自然也能有友元类,通过friend关键字,将类A在类B中声明,那么类A会成为类B的友元类 注意: 1、友元函数可以访问这
阅读全文
摘要:常量指针—this指针 this指针:成员函数一般都会拥有一个常量指针(this),指向调用函数的对象,储存的是改对象的首地址(注意:静态成员函数是没有this指针的) //标准写法 class book { public: book(){this->price = 0.0; this->title
阅读全文
摘要:new 和 delete 操作符 1 、(C ) 库函数: malloc free malloc() 函数具有分配存储空间的功能,但除了分配存储空间外,不会调用类的构造函数。 free() 函数可以释放对象存储空间,同样不会调用析构函数。 (C++)运算符: new delete new 和 new
阅读全文
摘要:构造函数 创建一个对象时,常常需要作某些初始化的工作,例如对数据成员赋初值。注意,类的数据成员是不能在声明类时初始化的,因为类不占用内存,只能在定义对象后使用构造函数初始化。 什么是构造函数 构造函数是特殊的public型成员函数,其特征如下: 1、函数名与类名相同。 2、构造函数无函数返回类型说明
阅读全文
摘要:类和对象 基本概念: 类:在C++中,“类”是一种数据类型的蓝图(模板),不占用内存空间,关键字 ”class“ 对象:对象是类的具体实现,是按照模板(类)做出的成品,占用内存空间 成员变量:类中定义的变量 成员函数:类中定义的函数 在类中不能对数据成员进行初始化,因为类不占有内存,无法给初始化数据
阅读全文
摘要:指针函数和函数指针 指针函数 类型标识符 *函数名(参数表) eg:int *f(x,y); 指针函数——1、首先他是一个“函数”,只不过一定有返回值,并且返回值为地址,需要用指针来接 2、由于返回值是地址,所以类型说明符一般都是int 3、函数名没有被括号束缚,这表示函数具有一定的独立性并且他首先
阅读全文