随笔分类 -  C++总结

virtual函数(在构造函数和析构函数的运用)
摘要:一、为多态基类声明virtual析构函数 base classes应该声明一个virtual析构函数,如果带有virtual函数,就应该拥有一个virtual析构函数。 如果带有多态性质的base classes不具有virtual析构函数,当derived class 对象经由base class 阅读全文

posted @ 2017-08-24 21:02 kiplove 阅读(572) 评论(0) 推荐(0)

C++公有、私有、保护继承的关系
摘要:公有继承(public)、私有继承(private)、保护继承(protected)是C++三种继承方式。 公有继承(public) 公有继承(public)的特点是基类的公有成员(public)和保护成员(protected)作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有(p 阅读全文

posted @ 2017-08-23 01:16 kiplove 阅读(1351) 评论(0) 推荐(0)

静态成员变量与静态成员函数
摘要:一、静态成员变量 类的静态成员变量是直接与类联系,属于类的成员而不是对象,供所有对象共享,存放于全局区,因而不计入类的内存计算。 静态成员变量可以通过类直接访问。 (1)静态成员变量的初始化 静态成员不属于类的任何对象,所以并不是对象建立时被定义的,所以它不能由类的构造函数初始化,一般也不能在类内初 阅读全文

posted @ 2017-06-29 15:54 kiplove 阅读(14120) 评论(0) 推荐(0)

交换操作 swap
摘要:一个类定义一个swap函数通常需要一次拷贝和两次赋值 例如 A类的两个对象v1与v2交换 A temp=v1; //copy构造一个临时对象 v1=v2; //赋值运算 v2=temp; //赋值运算 如果采用指针交换则可以减少一次拷贝构造 A* temp=v1; v1=v2; //赋值运算 v2= 阅读全文

posted @ 2017-06-08 22:29 kiplove 阅读(827) 评论(0) 推荐(0)

强制类型转换
摘要:命名的强制类型转换 static_cast 形式:static_cast < type-id > ( expression ) 任何具有明确意义的类型转换,只要不包括底层const(指针所指的对象是常量),都可以使用static_cast。 使用场景 1、把一个较大的算术类型赋给一个较小 2、voi 阅读全文

posted @ 2017-06-06 16:39 kiplove 阅读(406) 评论(0) 推荐(0)

copy构造函数
摘要:copy构造函数定义 copy构造函数的定义:如果一个构造函数的第一个参数是自身类类型的引用,且额外参数都是默认值,则此构造函数时copy构造函数(摘自c++primer)。 copy构造函数的形参必须引用类型:如果不是引用类型,为了调用copy构造函数,必须copy他的实参,但copy实参又需要c 阅读全文

posted @ 2017-05-27 17:28 kiplove 阅读(517) 评论(0) 推荐(0)

namespace 命名空间
摘要:一、命名空间的定义 namespace 命名空间的名字 {类/变量/函数/模板/其他命名空间}; 命名空间空间可以定义在全局作用域和其他命名空间中,但不能定义在函数或类的内部。 二、命名空间的作用域 每一个命名空间都是一个作用域,定义在某个命名空间中的名字可以被该命名空间内的其他成员访问,也可以被这 阅读全文

posted @ 2017-05-26 21:30 kiplove 阅读(302) 评论(0) 推荐(0)

C++ 赋值运算符函数
摘要:本文为博主原创文章,未经博主允许不得转载 http://www.cnblogs.com/kiplove/p/6783497.html C++的重载运算符,由关键字operator和运算符号共同组成,一般而言C++里只要运算符不含"."都可以重载。 这里主要讲一下赋值运算符的重载。 一、一个重载赋值运 阅读全文

posted @ 2017-04-30 16:30 kiplove 阅读(7115) 评论(0) 推荐(0)

导航