C++基础
文章平均质量分 58
Allureyou
这个作者很懒,什么都没留下…
展开
-
C++之继承
1.继承的作用:可以实现代码复用。2.继承的访问权限:当公有继承时:基类成员是公有的,派生类成员也是公有的,类外可直接访问基类成员是保护的,派生类成员也是保护的,类外不可直接访问基类成员是私有的,派生类成员不可直接访问,类外不可直接访问当私有继承时:基类成员是公有的,派生类成员是私有的,类外不可直接访问基类成员是保护的,派生类成员是私有的,类外不可直接访问基类成原创 2017-02-27 23:29:17 · 282 阅读 · 0 评论 -
C++之嵌套类和局部类
一、1.概念 嵌套类:在一个类中定义另一个类,2.特点:从作用域的角度看,嵌套类被隐藏在外围类之中,该类名只能在外围类之中,该类名只能在外围类中使用,如果在外围类的作用域使用该类名,需要加名字限定。嵌套类中的成员函数可以在它的类外定义。嵌套类的成员函数对外围类的成员函数没有访问权限,反之亦然。嵌套类仅仅是语法上的嵌套。class Test{public: cla原创 2017-04-05 16:23:27 · 555 阅读 · 0 评论 -
C++this指针操作
C++this指针操作在这里总结一下this 指针的相关知识点。 首先,我们都知道类的成员函数可以访问类的数据(限定符只是限定于类外的一些操作,类内的一切对于成员函数来说都是透明的),那么成员函数如何知道哪个对象的数据成员要被操作呢,原因在于每个对象都拥有一个指针:this指针,通过this指针来访问自己的地址。注意事项:this指针并不是对象的一部分,this指针所占的转载 2017-03-15 16:53:51 · 510 阅读 · 0 评论 -
C++之友元函数总结
1.介绍友元是一种允许非类成员函数访问类的非公有成员的一种机制2.分类友元函数、友元类3.友元函数友元函数不仅可以是一般函数,而且可以是另一个类的成员函数友元函数可以在类作用域外定义,但它需要在类体中进行声明4.注意事项友元函数不是当前类的成员函数,而是独立于当前类的外部函数,但它可以访问该类的所有对象的成员。友元函数不受类中的访问权限关键字的限制,可以把它放在原创 2017-04-08 21:35:30 · 734 阅读 · 0 评论 -
C++之异常处理机制
一、C++异常处理机制是由3个部分组成:检查(try)、抛出(throw)和捕捉(catch)把需要检查的语句放在try中,throw用来当出现异常时发生一个异常信息,而catch则用来捕捉异常信息,如果捕捉到了异常信息就处理它。二、(1)首先介绍try首先是把可能出现异常的、需要检查的语句或程序放在段放在try后面的花括号中。try块可以嵌套、程序按顺序寻找匹配的异常处理器,抛出原创 2017-03-07 16:50:19 · 2650 阅读 · 0 评论 -
C++之模板
1.模板的作用:(1)模板是一种参数化的多态工具(2)所谓参数化的多态性,是指将程序所处理的对象的的类型参数化,使一段程序代码可以用于处理不同类型的对象。(3)采用模板编程,可以为各种逻辑功能相同而数据类型不同的程序提供一种代码共享的机制。2.代码复用的几种方法特点1.用已有的方法解决(1)宏替换(2)函数重载(3)使用函数模板3.函数模板的概述函数模板的一原创 2017-03-09 23:16:26 · 520 阅读 · 0 评论 -
C++之两大面试题
1.构造函数不能是虚函数?原因:虚函数的执行依赖于虚函数表,而虚函数表在构造函数中进行初始化工作,即初始化vptr,让它指向正确的虚函数表。而在构造对象期间,虚函数表还没有被初始化,就无法执行。2.实现多态时,基类的析构函数必须是虚析构函数?原因:假设基类中采用的是非虚析构函数,但删除基类指针指向的派生类对象时就不会触发动态绑定,因而只会调用基类的析构函数,而不会调用派生类的析构函数。原创 2017-03-06 23:24:24 · 359 阅读 · 0 评论 -
C++之引用的注意点(1)
1.什么是“引用”,申明和使用“引用”要注意哪些问题?引用就是给变量起别名,对应用的操作与变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完成后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量。它只表明该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也原创 2017-02-26 22:35:06 · 708 阅读 · 0 评论 -
C++之带头节点单链表的简单操作
#ifndef _LINK_H_#define _LINK_H_class List{public: List(); ~List(); void insert(const int d1); void tail_insert(const int d1); void insert_pos(const int d1,const int d); v原创 2017-03-08 22:19:48 · 3010 阅读 · 0 评论 -
面向对象编程之继承
1.继承和组合组合是满足有的关系继承满足是的关系2.派生类是基类的初始化3.派生类的声明语法class 派生类名 继承方式 基类名4.继承规则(1)继承方式继承方式包括:public private protected继承的三种方式 基类成员属性原创 2017-03-04 23:15:55 · 383 阅读 · 0 评论 -
C++之第一阶段学习总结
1.面向过程编程VS面向对象编程VS汇编语言面向过程:复用性差,维护性差,扩展性差,但运行效率最高。面向对象:复用性好,维护性好,扩展性好,灵活性好,但运行效率不太高。汇编语言:对硬件开发效率高,2.面向对象的特点:封装、继承、多态3.封装作用:类是对象的抽象,对象是类的实例化。好处:设定访问权限。起到了对属性的保护。public:可以在类外去访问类内公有成员原创 2017-03-02 08:56:51 · 589 阅读 · 0 评论 -
C++之引用(2)
1.在什么时候需要使用“常引用“?如果既要利用引用提高程序的效率,又要保护传递给函数的数据不在函数中改变,就应使用常引用。常引用声明方式:const 类型标识符 &引用名 = 目标变量名:int a;const int &ra = a;2.将引用作为函数返回值类型的格式,好处和需要遵守的规则?格式:类型标识符 &函数名(形参列表及类型说明){函数体}好处:在内存中不产原创 2017-02-28 23:46:39 · 380 阅读 · 0 评论 -
C++之深拷贝VS浅拷贝
1.浅拷贝将值直接拷贝过去只是对指针的拷贝,拷贝之后两个指针指向同一块内存,会造成系统奔溃class Array{public: Array(int count); Array(const Array &arr); ~Array(); void setCount(int count); int getCount(); void pri原创 2017-04-06 17:55:15 · 360 阅读 · 0 评论