9.21 C++总结

1.抽象类

抽象类的一般形式

带有纯虚函数的类称为抽象类:

class  类名

 {

     virtual 类型 函数名(参数表)=0;

                                          //纯虚函数

     ...

}

 

2. 抽象类

抽象类只能作为基类来使用。

不能声明抽象类的对象,只能声明抽象类的指针。

纯虚函数直到被覆盖前所派生的类均为抽象类

 

3.抽象类的作用

抽象类为抽象和设计的目的而建立,将有关的数据和行为组织在一个继承层次结构中,保证派生类具有要求的行为。

对于暂时无法实现的函数,可以声明为纯虚函数,留给派生类去实现。

 

4. 使用纯虚函数时应注意:

(1)抽象类中可以有多个纯虚函数。

(2)抽象类也可以定义其他非纯虚函数。

(3)从抽象类可以派生出具体或抽象类,但不能从具体类派生出抽象类。

 

 5.抽象类需要有构造函数和析构函数吗

       抽象类通常代表一个抽象的概念,它提供一个继承的出发点。  

     在一个复杂的类继承结构中,越上层的类抽象程度越高,有时甚至无法给出某些成员函数的实现,显然,抽象类是一种特殊的类,它一般处于类继承结构的较外层。   

    引入抽象类的目的,主要是为了能将相关类组织在一个类继承结构中,并通过抽象类来为这些相关类提供统一的操作接口,更好的发挥多态性。

抽象类使得数据结构更加清晰,更加贴近自然

 

6. 对象的复制(拷贝)

用一个已知对象构造(初始化)一个新对象。

 例:一个已知对象构造(初始化)另一对象

      Student s1(“Jenny”); 

              Student s2=s1;即Student s2(s1);

       Student fn(Student s){Student k;//.......  ;return k}

       void main()

       {Student m,n;n=fn(m);}

使用Student (char*  )不再合适,引入新的构造函数——拷贝构造函数:

Student (Student& s);或者是Student ( const Student& s);

 


 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • C++ 面向对象编程 博客园地址:http://www.cnblogs.com/xiongxuanwen/p/42...
    先之阅读 692评论 0 1
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,839评论 18 399
  • 1. 结构体和共同体的区别。 定义: 结构体struct:把不同类型的数据组合成一个整体,自定义类型。共同体uni...
    breakfy阅读 2,181评论 0 22
  • 一个博客,这个博客记录了他读这本书的笔记,总结得不错。《深度探索C++对象模型》笔记汇总 1. C++对象模型与内...
    Mr希灵阅读 5,698评论 0 13
  • 五月的北方草长莺飞,这个季节最期待的就是槐花开了。 一场春雨来,桑条吐芽可以养蚕宝宝了。再一场春雨来,朵朵桐花落了...
    月落小半阅读 925评论 8 10