![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
Jack_huhu
这个作者很懒,什么都没留下…
展开
-
C++ 抽象类与接口
C++中抽象类是指至少包含一个纯虚函数的类,一般格式如下: class { public: virtual (参数列表) = 0; } 接口的实现是通过定义子类来继承父类(抽象类),在子类中对父类中的纯虚函数进行定义,举一个简单的实例,如下: /** C++ 接口是使用抽象类来实现的 如果类中至少有一个函数被声明为纯虚函数,则这个类就是抽象类。纯虚函数是通过在声明中使用 "= 0" 来指原创 2016-10-11 22:37:02 · 264 阅读 · 0 评论 -
C++ 多态的实现
多态是C++面向对象的三个基本特征之一,是比较一个重要的概念。实现多态,有两种方式:覆盖和重载。 覆盖:子类重新定义父类的虚函数的做法。 重载:允许存在多个同名函数,而这些函数的参数列表不同(参数个数不同,参数类型不同等)。在面向对象编程中我们重点看下覆盖的实现吧。 子类重新定义父类的虚函数,首先要有继承,其次父类中要有被定义为虚函数的成员函数,通过虚函数机制实现了在程序运行时根据调用对象来原创 2016-10-12 17:00:13 · 231 阅读 · 0 评论 -
C++ 深拷贝与浅拷贝
浅拷贝:没有自定义的拷贝构造函数,使用的是C++编译器自动产生的一个默认构造函数,默认的构造函数采用的是“位拷贝”,也就是浅拷贝,并不是“值拷贝”,也就是深拷贝。定义一个类 A,有A obj1; 不自定义拷贝构造函数时,即 A obj2(obj1) 或 A obj2 = obj1; 浅拷贝使得obj1和obj2指向同一块内存,调用析构函数时,要对同一个资源析构2次,即对同一块内存释放2次,这是原创 2016-10-15 13:52:31 · 226 阅读 · 0 评论