
C++
「已注销」
这个作者很懒,什么都没留下…
展开
-
对象、构造函数、析构函数
对象:类的具体化由于对象在内存中占有一定的空间,所以一定会有申请内存和释放内存的过程构造函数:对象在申请内存时调用的函数 Student::Student() //在外定义需要在类中声明定义在内(.h )在外(.cpp)都可以没有返回值函数名必须和类名一致可以有参数列表析构函数:对象在释放内存时调用的函 Student::~Student()原创 2017-11-05 17:20:35 · 217 阅读 · 0 评论 -
迭代器
概念迭代器是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中元素的确定地址。迭代器提供了一些类似于指针的运算符: *、++、==、!=、=。这些操作和C/C++操作指针的接口一致。简言之,迭代器虽然不是指针,但是我们可以把它看作指向容器中元素的指针。常用操作 获取不同容器的迭代类型: 模板类类型::iterator 获取容器中指向首个元素的迭代器原创 2017-11-23 22:39:27 · 292 阅读 · 0 评论 -
sort排序函数
定义比较函数bool compare(const 数据类型 &a, const 数据类型 &b){ return a < b; //小的数先输出,即升序输出}sortvector<int> n;sort(n.begin(),n.end(),compare);原创 2017-11-23 22:09:53 · 700 阅读 · 0 评论 -
模板
函数模板概念在编译阶段,编译器会根据函数模板的使用情况创建出函数名相同,参数类型由编译器判断的若干函数。通过函数模板创建的函数拥有相同的函数体,只是函数的参数类型不同。使用模板的声明定义一般放在头文件中声明template<typename T,...>返回类型 函数名(参数列表);其中T表示任意类型,参数的类型和返回类型都可以指定为T函数模板的特化函数模板的特化是指在实例化函数模板原创 2017-11-23 21:22:03 · 291 阅读 · 0 评论 -
内联函数
内联:内联函数在执行时不进行压栈出栈操作,提高运行效率注意:不允许使用循环语句、switch语句、递归调用只适用于1-5行的小函数在类结构内部的函数默认为内联函数inline关键字只是向编译器提出请求,编译器有可能忽略原创 2017-11-22 22:40:59 · 234 阅读 · 0 评论 -
面向对象的三大特性:封装,继承,多态
1.封装指的是信息隐藏,隐藏对象的实现细节,不让外部直接访问,只留下操作接口访问控制:public:成员能直接在成员函数中访问,也能通过对象访问private:成员只能在成员函数中访问所以为了达到封装的目的,成员(变量)一般定义为private为了允许修改或读取对象的私有成员,就要提供公共的存取器函数例:class Student{private: char原创 2017-11-22 22:39:52 · 313 阅读 · 0 评论 -
类的声明与定义
声明写在头文件中定义(指的是声明在类中的函数的定义)写在与头文件相对应的.CPP文件中例如:写一个学生成绩的类//Student.h#ifndef _STUDENT_H#define _STUDENT_Hclass Student{public:int id;char name[20];double score;void Prin原创 2017-11-05 17:03:59 · 503 阅读 · 0 评论 -
enum枚举类型
enum WEEKDAY{sun,mou,tue,wed,thu,fri,sat };enum WEEK day = mon; 不能赋值 即:day = 3; //error可以通过强制转换进行赋值:day = (enum WEEKDAY)6; //ok进行运算时相当于数字 int a = day; 总的原创 2017-11-05 16:34:14 · 258 阅读 · 0 评论 -
友元函数
当类中的成员为私有成员的时候,外部函数是不能够访问的,若想访问,可以讲此函数设置为友元函数即:class Student {friend void PrintValue(Student & stu);private:char name[20];int num;public:Student::Student();};原创 2017-11-10 14:20:47 · 211 阅读 · 0 评论 -
函数重载与运算符重载
定义名称相同但参数不同(个数、类型)的函数若要比较两个数的大小,则针对不同的数据类型要写不同的函数,而通过函数重载,则只需要编写一个函数即可int Max(int a, int b);int Max(float a, float b);int Max(nool a, bool b);原创 2017-11-10 14:20:13 · 929 阅读 · 0 评论 -
静态成员与静态函数
1.原创 2017-11-10 14:18:54 · 196 阅读 · 0 评论 -
拷贝构造函数
拷贝构造函数是一种特殊的构造函数,其唯一的形参必须是构造对象的引用。编译器会自动生成拷贝构造函数,自动生成的拷贝构造函数会将参数中的所有非静态成员拷贝给当前对象以下三种情况会调用拷贝构造函数:对象作为函数参数,以值传递d原创 2017-11-10 14:17:55 · 213 阅读 · 0 评论 -
const关键字
1.const引用:int a = 1;const int &b = a;尽可能在参数传递时使用const引用2.const成员函数:当成员函数不会更改对象的任何成员变量时,可以将成员函数生声明为const;class 类名{返回类型 函数名(参数列表) const;}原创 2017-11-10 14:16:44 · 185 阅读 · 0 评论 -
关联容器set map
概念关联容器是用于存放多个单一类型数据的类模板关联容器是内部存储元素的形式大多是以哈希表或者二叉树等非线性的数据结构进行存储。关联容器增删元素时效率较低,但是查找的速度会比线性表更快。关联容器的种类与选择set容器中存储的元素作为键,键不能重复,能够快速读取。map容器中除了键外,每个键还有对应的值。键不能重复,值可以重复。multiset支持一个键多次出现的set类型multimap支持一原创 2017-11-24 15:37:20 · 196 阅读 · 0 评论