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 Primer是一本经典的入门书籍,C++11是该语言的一个重要版本,它引入了许多新的特性和改进,比如自动类型推导、智能指针、基于范围的for循环、lambda表达式等。Boost是一个C++库集合,包含了许多实用...
这份"C++学习总结"是为面试准备的,旨在帮助你掌握核心概念并能应对面试中的各种问题。下面我们将深入探讨C++的一些关键知识点。 1. **基础语法**:C++的基础包括变量、数据类型(如int、float、char)、运算符(如...
C++个人学习总结- 完善中 -不是很好,但还是拿出来分享一下
在深入探讨C++编程语言的学习经验之前,首先要理解C++是一种多范式、面向对象的编程语言,由Bjarne Stroustrup于1983年在C语言的基础上发展而来。它提供了丰富的特性,包括类、模板、异常处理、命名空间、函数重载等...
C++学习总结++++++++++++++++++
这份资源集成了C++学习的多个重要方面,包括基础概念、高级特性、面试常见问题以及内存管理等,非常适合对C++感兴趣或者准备面试的人士进行深入学习。 1. **C++语言概述**:C++是在C语言的基础上发展起来的,它引入...
在学习C++的过程中,理解和掌握以下几个核心概念至关重要。 首先,`#include <iostream>`是C++程序中常见的头文件,包含了输入输出流(I/O Stream)的基本功能,如`cin`和`cout`。预处理器在编译前会将`iostream`的...
初学者怎样学习C++,方法,步骤,态度等,C++学习方法总结很详细!
自己总结的一点C++ MFC方向的学习知识点,以后还会不断地学习,总结
在深入探讨C++学习的总结报告之前,我们首先理解C++是一种强大且广泛应用的编程语言,它具有面向对象、高效和可移植性等特性。实训是学习任何技能的关键环节,尤其是编程,因为理论与实践相结合能更好地巩固知识并...
以下是对C++学习的一些关键知识点的总结: 1. **基础知识**:C++起源于C语言,因此掌握C语言的基本语法,如变量、数据类型、运算符、流程控制语句(if-else, switch, for, while)以及函数的使用是学习C++的起点。 ...
通过学习《C++ Primer》,不仅可以掌握C++的基本语法和编程技巧,还能理解面向对象编程的核心思想,为后续深入学习C++标准库、STL、设计模式以及并发编程等高级主题打下坚实基础。对于希望从事IT行业的程序员来说,...
#### 三、代码优化总结 通过对 C++98 和 C++11 两个版本的代码进行对比分析,我们可以看到 C++11 在代码结构、资源管理和异常处理方面带来了显著的改进。这些改进不仅让代码更加简洁和易懂,还提高了程序的稳定性和...