c++学习总结
鬼谷子丶
这个作者很懒,什么都没留下…
展开
-
C++深拷贝与浅拷贝
C++深拷贝与浅拷贝C++在涉及到类的拷贝时,有深拷贝和浅拷贝两种情况,默认情况下的拷贝构造函数是浅拷贝。1.深拷贝与浅拷贝区别:当类的数据成员中没有涉及到指针时,可以使用默认情况下的浅拷贝构造函数。当类的数据成员中涉及到指针时,如果再使用浅拷贝,就会出现指针悬挂现象(当两个对象的数据成员中指针指向同一块内存,在程序运行完毕调用析构函数释放对象1后,另一个对象2的数据成员依旧指向在这块内存...原创 2019-03-16 09:06:43 · 357 阅读 · 0 评论 -
C++运算符重载
C++运算符重载运算符重载概念:即给原有运算符赋予新功能。比如,c++中的以下操作便是用到了重载运算符:#include<string>#include<iostream>using namespace std;int main(void){ string str1("hello"); string str2("world"); string str3...原创 2019-03-21 09:38:49 · 282 阅读 · 0 评论 -
C++语言const关键字
C++语言const关键字控制变化的constconst与基本数据类型int x=0;//变量const int x=0;//常量int const x=0;//常量,与const int x=0等价const与指针const修饰 *p(*p即为常量)const int *p=NULL;//与int const *p=NULL等价int const *p=NULL;cons...原创 2019-03-20 15:05:31 · 115 阅读 · 0 评论 -
面向对象三大特征:封装,继承,多态
作者:uestclr来源:CSDN原文:https://blog.csdn.net/uestclr/article/details/51553978面向对象三大特征:封装,继承,多态**一、封装:**该公开的就公开话,该私有的就隐藏掉,主要是由public,private实现;作用是便于分工和分模块,防止不必要的扩展;**二、继承:**就是一种传承,可以把父类型中的数据传承到子类中,子类...转载 2019-03-16 21:45:15 · 132 阅读 · 0 评论 -
C++菱形继承中的多继承、多重继承、虚继承实例
C++菱形继承中的多继承、多重继承、虚继承实例1.菱形继承:示意图如下B继承于A,C继承于A,D多重继承于B和C,则创建D类对象时,就会有基类A的两份拷贝。2.多继承:即一个派生类可以有两个或多个基类。3.多重继承:像上图B继承于A,D继承于B,这种继承关系便是多继承。4.虚继承:虚基类用virtual声明。无论该类在派生层次中作为虚基类出现多少次,只继承一个共享的基类子对象,共享基类...原创 2019-03-17 15:31:43 · 669 阅读 · 0 评论 -
c++(重载、覆盖、隐藏)
成员函数的重载、覆盖与隐藏成员函数的重载、覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚概念,否则错误将防不胜防。8.2.1 重载与覆盖成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数...转载 2019-03-18 18:42:13 · 5103 阅读 · 3 评论 -
C++纯虚函数、抽象类和接口类
C++纯虚函数、抽象类和接口类1.纯虚函数:纯虚函数是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法。在基类中实现纯虚函数的方法是在虚函数原型后加“=0”例如:virtual void takeoff() = 0;2.抽象类:含有纯虚函数的类叫做抽象类(抽象类不能实例化对象)。3.接口类:一般只含有纯虚函数的类(故接口类属于抽象类)。接口类更多的用来表达一...原创 2019-03-18 20:55:57 · 1009 阅读 · 0 评论 -
C++运行时类型识别(RTTI)
C++运行时类型识别(RTTI)运行时类型识别RTTI(即Run-Time Type Identification)主要通过typeid和dynamic_cast来实现原创 2019-03-19 09:33:42 · 795 阅读 · 0 评论 -
C++异常处理try/catch/throw
C++异常处理try/catch/throw异常:程序运行时出现的错误异常处理:即对有可能发生异常的地方做出预见性的安排基本思想:主逻辑与异常处理分离关键字:try{...主逻辑...}//尝试catch{...异常处理逻辑...}捕获//try和catch可以是一对多的关系,根据不同的异常做相应的处理throw//抛出异常例如:try{ f1();//f1抛出异常后,其...原创 2019-03-19 15:15:47 · 234 阅读 · 0 评论 -
二元运算符重载
接上一篇:https://blog.csdn.net/weixin_43217963/article/details/88702153二元运算符重载二元运算符即有两个操作数参与运算。例如:+加号、<<等等。以下展示两个较为典型的例子。这里以“+”加号为例:“+”的重载,有友元函数重载(友元函数作为全局函数对其进行重载)和成员函数重载(定义一个类的成员函数)两种。友元函数重载...原创 2019-03-21 11:46:27 · 869 阅读 · 0 评论