C++课件 第七章 类和对象的创建 2幻灯片.pptVIP

  • 8
  • 0
  • 约2.36万字
  • 约 62页
  • 2016-12-05 发布于浙江
  • 举报

C++课件 第七章 类和对象的创建 2幻灯片.ppt

第七章 类和对象的创建 本章要点: 类的声明、类的成员函数的定义、对象的定义和使用、类的成员的访问控制。 类的构造函数和析构函数的作用、定义和使用。 对象数组和对象指针的定义和使用,对象的动态分配内存。 对象作为函数参数的使用方法。 友元的作用及使用友元的有关问题。 本章内容 7.1 类和对象 7.2 构造函数和析构函数 7.3 对象数组与对象指针 7.4 对象作为函数的参数 7.5 静态成员 7.6 友元 7.1 类和对象 7.1.1 类的声明及成员的访问控制 7.1.2 类的成员函数 7.1.3 对象的定义和引用 类声明及成员的访问控制 类声明的形式 类的声明即是类的定义,其语法与结构的声明类似,一般形式如下: class 类名 { private: 私有数据成员和成员函数 protected: 保护数据成员和成员函数 public: 公有数据成员和成员函数 }; 类声明及成员的访问控制 类声明的内容 类声明的内容包括数据和函数两部分,是对类的数据和函数以及它们的访问权限的说明。 数据 声明数据成员的数据类型,名字,以及访问权限。 函数 定义成员函数及对它们的访问权限。可以在类内定义成员函数,也可以在类外定义成员函数。在类外定义成员函数时先在类内说明该成员函数的原型,再是在类外进行定义,也就是说,类内声明,类外定义。成员函数的定义方法将在后面介绍。 类声明及成员的访问控制 类成员的访问控制 类的成员的访问控制是通过类的访问权限来实现的。访问权限分为三种: private 声明该成员为私有成员。私有成员只能被本类的成员函数访问,类外的任何成员对它的访问都是不允许的。私有成员是类中被隐蔽的部分,通常是描述该类对象属性的数据成员,这些数据成员用户无法访问,只有通过成员函数或某些特殊说明的函数才可访问,它体现了对象的封装性。当声明中未指定访问控制时,系统默认该成员为私有成员。 protected 声明该成员为保护成员,一般情况下与私有成员的含义相同,它们的区别表现在类的继承中对新类的影响不同。保护成员的具体内容将在有关的章节中介绍。 public 声明该成员为公有成员。公有成员可以被程序中的任何函数访问,它提供了外部程序与类的接口功能。公有成员通常是成员函数。 类声明的例 例7.1 类声明的例。 class myclass //声明类名为myclass { private: //声明私有成员 int i; //声明i的数据类型为整型 public: //声明公有成员 void seti(int a); //声明成员函数seti()的原型 int geti() //定义成员函数geti() { return i; } }; void myclass::seti(int a) //定义成员函数seti() { i=a; } 类声明及成员的访问控制 类声明时的注意事项 声明的类是一个数据结构而不是函数,因而最后的分号不能丢掉。 说明类成员访问权限的关键字private、protected和public可以按任意顺序出现任意多次,但一个成员只能有一种访问权限。为使程序更加清晰,应将私有成员和公有成员归类放在一起。 数据成员可以是任何数据类型,但不能用自动(auto)、寄存器(register)、外部(extern)来说明。 成员函数可以在类内定义,也可在类内说明原型而在类外定义。 不能在类内给数据成员赋初值,只有在类的对象定义以后才能给数据成员赋初值。 类声明错误的例 例7.2 错误的类的声明的例 class myclass { private: int i=10; //错误 public: void seti(int a); int geti(); }; 类的成员函数(1) 成员函数又称为方法,成员函数是C++中的术语,方法是面向对象方法中的术语,它们是同一个实体。 成员函数的定义 在类声明中只给出成员函数的原型声明,而成员函数的定义则在类的外部完成。其一般形式是: 返回类型 类名::函数名(参数表) { //函数体 } 用这种方法定义成员函数应注意以下事项: 在所定义的函数名前必须缀上类名,类名与函数名之间必须加上作用域运算符∷。 在类内声明成员函数的函数原型时,参数表中的参数可以只说明参数的数据类型而省略参数名。 定义成员函数时,其返回值类型必须要与函数原型说明中的返回类型一致。 在类外定义成员函数的例 例7.2 在

文档评论(0)

1亿VIP精品文档

相关文档