`
lbyzx123
  • 浏览: 478152 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

c++学习总结

阅读更多

1、

c++声明类的关键字是class、struct、union,多数用class.

例如:

class A{

       pulic:

        .......

       private:

       ........

      protected:

       .......

};

 

c++声明派生类的定义如下:

 class <派生类名>:<派生方式><基类名>

    {

      派生类成员声明;

    };

 

其中:

 ⑴ 继承方式关键字为private、public和protected,分别表示私有继承、公有继承和保护继承。缺省的继承方式是私有继承。继承方式规定了派生类成员和类外对象访问基类成员的权限.

 ⑵ 派生类成员是指除了从基类继承来的成员外,新增加的数据成员和成员函数。正是通过在派生类中新增加成员来添加新的属性和功能,来实现代码的复用和功能的扩充的。

class B:A{

       pulic:

        .......

       private:

       ........

      protected:

       .......

};

如果B中重写了A 中的c方法,使用A的指针调用c方法,执行的是A的c方法。使用B的指针调用c方法,执行的是B的c方法。

如果A中声明的c方法是虚函数,且B中重写了A中的c方法,则无论使用A的还是B的指针都是调用派生类B的c方法。调用虚函数,默认调用派生类的虚函数实现。

2、

虚函数声明如下:

virtual ReturnType FunctionName(Parameter);

虚函数必须实现,如果不实现,编译器将报错。

纯虚函数声明如下:

virtual ReturnType FunctionName(Parameter)=0;

纯虚函数是抽象的,没有方法体实现。纯虚函数一定没有定义,纯虚函数用来规范派生类的行为,即接口。

3、

包含纯虚函数的类是抽象类,抽象类不能定义实例,但可以声明指向实现该抽象类的具体类的指针或引用。

      c++接口的声明也是用class关键字,但声明中只有纯虚函数。

     有时候,我们得提供一些接口给别人使用。接口的作用,就是提供一个与其他系统交互的方法。其他系统无需了解你内部细节,并且也无法了解内部细节,只能通过你提供给外部的接口来与你进行通信。根据c++的特点,我们可以采用纯虚函数的方式来实现。这样做的好处是能够实现封装和多态。现举一实例,供大家参考。(不想做过多说明,大家一看就应该能够明白)

Class IPerson

{

public:

   IPerson(){};

   virtual ~IPerson()=0;//注意,最好要定义此虚析构函数,能够避免其实现不能正常调用析构函数的问题

   //提供给外面使用的接口一般采用纯虚函数

   virtual  void SetName(const string &strName)= 0;

   virtual  const string GetName()= 0;

   virtual  void Work()= 0;

}  有时候,我们得提供一些接口给别人使用。接口的作用,就是提供一个与其他系统交互的方法。其他系统无需了解你内部细节,并且也无法了解内部细节,只能通过你提供给外部的接口来与你进行通信。根据c++的特点,我们可以采用纯虚函数的方式来实现。这样做的好处是能够实现封装和多态。现举一实例,供大家参考。(不想做过多说明,大家一看就应该能够明白)

Class IPerson

{

public:

   IPerson(){};

   virtual ~IPerson()=0;//注意,最好要定义此虚析构函数,能够避免其实现不能正常调用析构函数的问题

   //提供给外面使用的接口一般采用纯虚函数

   virtual  void SetName(const string &strName)= 0;

   virtual  const string GetName()= 0;

   virtual  void Work()= 0;

}

继承接口的类,必须实现接口的方法。

分享到:
评论

相关推荐

    c++学习总结(基础)

    很好的c++学习总结(C++学习忠告、类的使用、类与内存分配。。。。。。)

    C++学习总结

    在C++学习中,C Primer是一本经典的入门书籍,C++11是该语言的一个重要版本,它引入了许多新的特性和改进,比如自动类型推导、智能指针、基于范围的for循环、lambda表达式等。Boost是一个C++库集合,包含了许多实用...

    C++学习总结(完全可以应付面试)

    这份"C++学习总结"是为面试准备的,旨在帮助你掌握核心概念并能应对面试中的各种问题。下面我们将深入探讨C++的一些关键知识点。 1. **基础语法**:C++的基础包括变量、数据类型(如int、float、char)、运算符(如...

    C++学习总结--完善中

    C++个人学习总结- 完善中  -不是很好,但还是拿出来分享一下

    c++学习总结,在学习c++时做的一些笔记

    在深入探讨C++编程语言的学习经验之前,首先要理解C++是一种多范式、面向对象的编程语言,由Bjarne Stroustrup于1983年在C语言的基础上发展而来。它提供了丰富的特性,包括类、模板、异常处理、命名空间、函数重载等...

    C++学习总结++++++++++++++++++

    C++学习总结++++++++++++++++++

    C++学习总结[知识点详解]

    这份资源集成了C++学习的多个重要方面,包括基础概念、高级特性、面试常见问题以及内存管理等,非常适合对C++感兴趣或者准备面试的人士进行深入学习。 1. **C++语言概述**:C++是在C语言的基础上发展起来的,它引入...

    c++学习总结.pdf

    在学习C++的过程中,理解和掌握以下几个核心概念至关重要。 首先,`#include &lt;iostream&gt;`是C++程序中常见的头文件,包含了输入输出流(I/O Stream)的基本功能,如`cin`和`cout`。预处理器在编译前会将`iostream`的...

    初学者C++学习方法总结

    初学者怎样学习C++,方法,步骤,态度等,C++学习方法总结很详细!

    关于C++的学习总结

    自己总结的一点C++ MFC方向的学习知识点,以后还会不断地学习,总结

    关于C++学习的总结报告

    在深入探讨C++学习的总结报告之前,我们首先理解C++是一种强大且广泛应用的编程语言,它具有面向对象、高效和可移植性等特性。实训是学习任何技能的关键环节,尤其是编程,因为理论与实践相结合能更好地巩固知识并...

    C++学习经验总结 C++学习经验总结

    以下是对C++学习的一些关键知识点的总结: 1. **基础知识**:C++起源于C语言,因此掌握C语言的基本语法,如变量、数据类型、运算符、流程控制语句(if-else, switch, for, while)以及函数的使用是学习C++的起点。 ...

    C++ 学习个人总结相关资料.7z

    通过学习《C++ Primer》,不仅可以掌握C++的基本语法和编程技巧,还能理解面向对象编程的核心思想,为后续深入学习C++标准库、STL、设计模式以及并发编程等高级主题打下坚实基础。对于希望从事IT行业的程序员来说,...

    C++11学习总结.doc

    #### 三、代码优化总结 通过对 C++98 和 C++11 两个版本的代码进行对比分析,我们可以看到 C++11 在代码结构、资源管理和异常处理方面带来了显著的改进。这些改进不仅让代码更加简洁和易懂,还提高了程序的稳定性和...

Global site tag (gtag.js) - Google Analytics