设为首页 加入收藏

TOP

4.1.1 从结构到类
2013-10-07 01:17:27 来源: 作者: 【 】 浏览:69
Tags:4.1.1 结构

第4章  C++(www.cppentry.com)的面向对象编程(www.cppentry.com)

C++(www.cppentry.com)是面向对象的程序设计语言,类是其实现面向对象的工具。类是面向对象程序设计(OOP)实现信息封装的基础,是C++(www.cppentry.com)语言最重要的特性。其是进行数据封装和数据保护的工具。本章讲解的知识点包括:

类和对象的基本概念;

友元;

派生类;

继承与多重继承;

多态;

函数重载和运算符重载;

虚函数。

通过本章的学习,读者可以掌握C++(www.cppentry.com)面向对象方面的特点,了解C++(www.cppentry.com)中类的出现的基本理论,掌握类的定义和使用,掌握类的特性。

4.1  类和对象的基本概念

类是现实事物共有特征的抽象,而对象是类的具体实例。在面向对象的程序设计中,总是先声明类,再由类生成其对象。类是建立对象的模板,对象则是类的一个实例。

4.1.1  从结构到类

C语言中有一种自定义的数据类型,即结构体。结构体中可以包含不同的数据类型。C++(www.cppentry.com)语言把结构体进行扩充,它不仅可以含有不同的数据类型,而且可以含有函数。在C++(www.cppentry.com)中结构体的定义形式如下:

  1. struct 结构体名  
  2. {  
  3. 成员表列  
  4. }变量名表列; 

struct是定义结构体的关键字,后面的结构体名是结构体的名称。在结构体中可以定义一个或多个成员变量或函数。当然也可以不定义变量,此时称为空结构体。变量名表列是在定义结构体时,同时定义结构体变量。也可以不定义变量,在后面用到的地方再定义结构体变量。需要注意的是,结构体右括号的变量名表列后需要添加一个";"。

【示例4.1】 声明一个结构体,并定义一个结构体变量A。

  1. struct student      //定义结构体  
  2. {  
  3.     //结构体成员  
  4.     int math;  
  5.     int english;  
  6.     int chemistry;  
  7.     int all(int a,int b,int c)  
  8.     {  
  9.         return a+b+c;  
  10.     }  
  11. }A;             //定义结构体变量 

分析:在这个声明的结构体中,含有3个整数,分别代表数学,英语和化学成绩。另外含有一个函数用于计算总成绩。并且定义了一个结构体变量A。此时可以使用"."访问结构体的成员变量和成员函数。可以进行赋值,访问等操作。

注意:一个空的结构体的大小并不为0,空结构体的大小为1。

结构体中的数据和函数都是结构体的成员,分别叫做结构体的数据成员和函数成员。下面看一个完整的例子。

【示例4.2】 利用上面声明的结构体,输入3门课成绩,输出总成绩。

  1. #include "iostream.h"  
  2. struct student          //定义结构体  
  3. {  
  4.     int math;  
  5.     int english;  
  6.     int chemistry;  
  7.     int all()           //成员函数  
  8.     {  
  9.         return math+english+chemistry;  
  10.     }  
  11. }A;                     //定义结构体变量  
  12. void main()  
  13. {  
  14.     int a;int b;int c;  
  15.     cin>>a>>b>>c;     
  16.     A.math=a;           //结构体成员的访问  
  17.     A.english=b;  
  18.     A.chemistry=c;  
  19.     cout<<A.all()<<endl;  

分析:在C++(www.cppentry.com)中,一个结构的成员分为两类,私有成员和公有成员。私有成员只可以被该成员内的其他成员所访问。公有成员可以被结构外的部分所访问。默认情况下,所有成员是公有成员。

类是比结构更为安全的数据类型。类实际上是结构的一种发展。类和结构的扩充形式十分相似,形式如下:

  1. class 类名{  
  2. private:  
  3.   私有成员  
  4. public:  
  5.   公有成员  
  6. protected:  
  7.    保护成员  
  8. }; 

上面是C++(www.cppentry.com)语言中定义类的基本形式。其中class是类定义的关键字。类名则是说明所定义的类的名称。在大括号内有3个关键字:private:、public: 和protected:。每个关键字后面所定义的变量分别称为私有成员、公有成员和保护成员。类的定义与结构体类似,在右括号的后面需要添加一个";"号。

对象是类的一个实例。类和对象就像int和整型变量i的关系一样。类是一种自定义的数据类型,而对象是一种具体化了的数据的集合。

注意:C++(www.cppentry.com)中的结构与C语言中的结构不同,而C++(www.cppentry.com)的结构与类是相同的,也就是说C++(www.cppentry.com)中把结构体作为类。在C++(www.cppentry.com)中的结构可以在项目工作区的"Class View"控制面板中看到。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇4.1.2 成员函数的定义 下一篇4.2.4 重载构造函数与拷贝构造函数

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: