招生考试网
学历| 高考 美术高考 考研 自考 成考 专升本 中考 会考 外语| 四六级 职称英语 商务英语 公共英语 日语能力 翻译资格 JTEST
资格| 公务员 报关员 银行从业 司法 导游 教师资格 报关 财会| 会计证 经济师 会计职称 注册会计 税务师 资产评估 审计师
工程| 一建 二建 造价师 造价员 咨询师 监理师 安全师 医学| 卫生资格 执业医师 执业药师 执业护士 | 教案 论文 文档
IT类| 计算机等级 计算机软考 职称计算机 高校计算机 推荐-国家公务员 事业单位招聘 军校国防生 自主招生 艺术特长生 招飞
 3773考试网 - 计算机等级考试 - 考试辅导 - 计算机二级 - 正文

2014计算机二级C++考点知识分析:类和对象

来源:2exam.com 2014-4-9 23:19:49

6.1 类的定义 

  1类的定义 

  类的定义可以分为两部分:说明部分和实现部分。说明部分说明类中包含的数据成员和成员函数,实现部分是对成员函数的定义。类定义的一般格式如下: 

  //类的说明部分 

  class<类名> 

  { 

  public: 

  <成员函数或数据成员的说明> //公有成员,外部接口 

  protected: 

  <数据成员或成员函数的说明> //保护成员 

  private: 

  <数据成员或成员函数的说明> //私有成员 

  }; 

  //类的实现部分 

  <各个成员函数的实现> 

  其中,class是声明类的关键字;<类名>是要声明的类的名字,必须符合标识符定义规则;花括号表示类的声明范围,说明该类的成员,其后的分号表示类声明结束。类的成员包括数据成员和成员函数,分别描述类所表达的问题的属性和行为。关键字public、private和protected称为访问权限修饰符,它们限制了类成员的访问控制范围。 

  各个成员函数的实现即可以在类体内定义,也可以在类体外定义。如果一个成员函数在类体内进行了定义,它将不出现在类的实现部分;如果所有的成员函数都在类体内进行了定义,则可以省略类的实现部分。在类体内定义的成员函数都是内联函数。 

  2类成员的访问控制 

  类中提供了3种访问控制权限:公有(public)、私有(private)和保护(protected)。其中,公有类型定义了类的外部接口,任何一个外部的访问都必须通过外部接口进行;私有类型的成员只允许本类的成员函数访问,来自类外部的任何访问都是非法的;保护类型介于公有类型和私有类型之间,在继承和派生时可以体现出其特点。 

  3类的数据成员 

  类中的数据成员描述类所表达的问题的属性。数据成员在类体中进行定义,其定义方式与一般变量相同,但对数据成员的访问要受到访问权限修饰符的控制。 

  在定义类的数据成员时,要注意以下几个问题。 

  (1)类中的数据成员可以是任意类型,包括整型、浮点型、字符型、数组、指针和引用等,也可以是对象。但是要注意,只有另外一个类的对象,才可以作为该类的成员,即作为该类的成员对象而存在。自身类的对象是不可以作为自身类的成员存在的,但自身类的指针可以。 

  (2)在类体中不允许对所定义的数据成员进行初始化。 

  4类的成员函数 

  类的成员函数描述类所表达的问题的行为。类中所有的成员函数都必须在类体内进行说明。但成员函数的定义既可以在类体内给出,也可以在类体外给出。 

  第一种方式是将成员函数直接定义在类的内部。 

  第二种方式是在类声明中给出对成员函数的说明,而在类外部对成员函数进行定义(但成员函数仍然在类范围内)。这种在类外部定义的成员函数的一般格式是: 

  <返回类型><类名>::<成员函数名>(<参数表>) 

  { 

  <函数体> 

  } 

  在类体外定义成员函数时,要注意必须在成员函数名前加上类名和作用域运算符(::)。作用域运算符用来标识某个成员属于某个类。作用域运算符的使用格式如下: 

  <类名>::<成员函数名>(<参数表>)  或  <类名>::<数据成员名> 

  成员函数的两种定义方式之间是有差别的。如果一个成员函数的声明和定义都在类体内,那么这个成员函数就是内联函数。如果一个成员函数的声明在类体内,而定义在类体外,这时对该成员函数的调用是按一般函数进行的。如果要将定义在类体外的成员函数也作为内联函数处理,就必须在成员函数的定义前加上关键字“inline”,以此显式地说明该成员函数也是一个内联函数。 

  成员函数除了可以定义为内联函数以外,也可以进行重载,可以对其参数设置默认值。


  • 上一个文章:
  • 网站版权与免责声明
    ①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
    ②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权及个人隐私等问题,请在两周内邮件fjksw@163.com联系.
    最新文章
    推荐文章
  • 此栏目下没有推荐文章


  • | 关于我们 | 联系我们 | 版权申明 | 网站导航 |
    琼ICP备12003406号