研究学习C++语言的由来

开发 后端
想要充分的掌握C++语言,那么就要对C++语言中的结构、语句、变量、函数、预处理指令、输入和输出等内容进行了解掌握。

C++语言之所以要起名为“C++”,是因为它是主要参考那个时候的一门叫B的语言,设计的C++语言的学者觉得C++就是B语言的进步,所以就起名为C++语言,换句话说C++就是一种面向对象的程序设计语言。

要学会面向对象的程序设计,首先要学会一种面向对象的语言,即要学会用VC编程,就要先有C++的基础,而学习C++语言首先要认识它面向对象的特性和实现面向对象的方法。

C++是一种面向对象的程序设计语言

当你首次学习C++时,总会碰到一些在C语言从未见过的概念,如:类、对象、抽象、封装、继承、多态性、虚函数等等。这些概念是C++所具有,下面简单的介绍一下C++对面向对象程序设计方法的支持和实现。

1、C++支持数据封装

支持数据封装就是支持数据抽象。在C++中,类是支持数据封装的工具,对象则是数据封装的实现。面向过程的程序设计方法与面向对象的程序设计方法在对待数据和函数关系上是不同的,在面向对象的程序设计中。

将数据和对该数据进行合法操作的函数封装在一起作为一个类的定义,数据将被隐藏在封装体中,该封装体通过操作接口与外界交换信息。对象被说明具有一个给定类的变量,类类似于C语言中的结构。

在C语言中可以定义结构,但这种结构中包含数据,而不包含函数。C++中的类是数据和函数的封装体。在C++中,结构可作为一种特殊的类,它虽然可以包含函数,但是它没有私有或保护的成员。

2、C++类中包含私有、公有和保护成员

C++类中可定义三种不同访控制权限的成员。一种是私有(Private)成员,只有在类中说明的函数才能访问该类的私有成员,而在该类外的函数不可以访问私有成员;另一种是公有(Public)成员,类外面也可访问公有成员,成为该类的接口;还有一种是保护(Protected)成员,这种成员只有该类的派生类可以访问,其余的在这个类外不能访问。

3、C++语言中通过发关消息来处理对象

C++中是通过向对象发关消息来处理对象的,每个对象根据所接收到的消息的性质来决定需要采取的行动,以响应这个消息。响应这些消息是一系列的方法,方法是在类定义中使用函数来定义的,使用一种类似于函数调用的机制把消息发送到一个对象上。

4、C++中允许友元破坏封装性

类中的私有成员一般是不允许该类外面的任何函数访问的,但是友元便可打破这条禁令,它可以访问该类的私有成员(包含数据成员和成员函数)。友元可以是在类外定义的函数,也可以是在类外定义的整个类,前者称友元函数,后者称为友元类。友元打破了类的封装性,它是C++另一个面向对象的重要牲。

5、C++语言允许函数名和运算符重载

C++支持多态性,C++允许一个相同的标识符或运算符代表多个不同实现的函数,这就称标识符或运算符的重载,用户可以根据需要定义标识符重载或运算符重载。

6、C++支持继承性

C++中可以允许单继承和多继承。一个类可以根据需要生成派生类。派生类继承了基类的所有方法,另外派生类自身还可以定义所需要的不包含在父类中的新方法。一个子类的每个对象包含有从父类那里继承来的数据成员以及自己所特有的数据成员。

7、C++支持动态联编

C++中可以定义虚函数,通过定义虚函数来支持动态联编。以上是所讲的是C++对面向对象程序设计中的一些主要特征的支持。

【编辑推荐】

  1. 简介学习C++总结之谈
  2. C++库函数进行学习探索总结笔记
  3. C++类库设计的基本构思与方法
  4. C++语言真的还有市场价值?
  5. C++类库设计的基本构思与方法
责任编辑:chenqingxiang 来源: 51CTO.com
相关推荐

2017-05-10 14:49:52

Kotlin语言Java

2010-01-12 14:22:26

Visual C++

2010-01-15 15:13:28

C++概述

2010-05-19 14:12:49

IIS FTP

2010-01-28 15:31:34

学习C++语言

2010-01-26 10:01:17

学习C++

2010-01-11 14:17:02

C++编程

2009-12-24 17:01:42

ADO3.0

2010-01-21 18:00:59

C++语言

2010-01-14 17:02:10

学习C++

2010-01-12 10:11:36

学习C++语言

2010-01-27 16:52:31

C++语言学习

2010-01-22 15:14:37

学习C++

2010-01-11 09:40:02

C++语言

2010-01-15 10:32:21

C++语言

2010-01-12 10:50:59

学习C++

2010-01-15 17:38:37

C++语言

2009-08-18 10:48:25

C#事件

2010-01-19 18:18:21

C++语言

2010-01-14 18:19:40

C++语言
点赞
收藏

51CTO技术栈公众号