当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

C++的类和类的定义[VC/C++编程]

赞助商链接



  本文“C++的类和类的定义[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

在面向对象的程序计划中,有常常接触类、对象等专业名词;到底什么是类、什么是对象呢?在程序又是怎样应用呢?类是面向对象程序计划的核心,它实际是一种新的数据范例,也是实现抽象范例的工具,因为类是通过抽象数据范例的办法来实现的一种数据范例.类是对某一类对象的抽象;而对象是某一种类的实例,因此,类和对象是密切相关的.没有脱离对象的类,也没有不依靠于类的对象.

什么是类

类是一种复杂的数据范例,它是将差别范例的数据和与这些数据相关的操作封装在一同的调集体.这有点像C语言中的构造,唯一差别的就是构造没有定义所说的“数据相关的操作”,“数据相关的操作”就是我们普通常常看到的“办法”,因此,类具有更高的抽象性,类中的数据具有躲藏性,类还具有封装性.

类的构造(也即类的构成)是用来肯定一类对象的行为的,而这些行为是通过类的内部数据构造和相关的操作来肯定的.这些行为是通过一种操作接口来描写的(也即平常我们所看到的类的成员函数),利用者只关心的是接口的功效(也就是我们只关心类的各个成员函数的功效),对它是若何实现的并不感爱好.而操作接口又被称为这类对象向其他对象所供应的服务.

类的定义格局

类的定义格局普通地分为阐明部份和实现部份.阐明部份是用来阐明该类中的成员,包含数据成员的阐明和成员函数的阐明.成员函数是用来对数据成员举行操作的,又称为“办法”.实现部份是用来对成员函数的定义.概括说来,阐明部份将奉告利用者“干什么”,而实现部份是奉告利用者“怎么干”.

类的普通定义格局以下:

class <类名>
{
  public:    <成员函数或数据成员的阐明>
  private:    <数据成员或成员函数的阐明>
};    <各个成员函数的实现>

下面简单地对上面的格局举行阐明:class是定义类的关键字,<类名>是种标识符,普通用T字母开始的字符串作为类名.一对花括号内是类的阐明部份(包含前面的类头)阐明该类的成员.类的成员包含数据成员和成员函数两部份.从拜候权限上来分,类的成员又分为:公有的(public)、私有的(private)和保护的(protected)三类.公有的成员用public来阐明,公有部份常常是一些操作(即成员函数),它是供应利用户的接口功效.这部份成员可以在程序中引用.私有的成员用private来阐明,私有部份普通是一些数据成员,这些成员是用来描写该类中的对象的属性的,用户是无法拜候它们的,只有成员函数或经特别阐明的函数才可以引用它们,它们是被用来躲藏的部份.保护类(protected)将在今后介绍.

关键字public,private和protected被称为拜候权限修饰符或拜候掌握修饰符.它们在类体内(即一对花括号内)呈现的先后次序无关,并且允很多次呈现,用它们来阐明类成员的拜候权限.

此中,<各个成员函数的实现>是类定义中的实现部份,这部份包含全部在类体内阐明的函数的定义.假如一个成员函数的类体内定义了,实现部份将不呈现.假如全部的成员函数都在类体内定义,则实现部份可以省略.

下面给出一个日期类定义的例子:

class Tdate
{
  public:
  void SetDate(int y, int m, int d);
  int IsLeapYear();
  void Print();
  private:
  int year, month, day;
};     //类的实现部份
void Tdate::SetDate(int y, int m, int d)
{
  year = y;
  month = m;
  day = d;
}
int Tdate::IsLeapYear()
{
  return(year%4==0 && year%100!=0) || (year%400==0);
}
void Tdate::Print();
{
  cout< }

这里呈现的作用域运算符::是用来标识某个成员函数是属于哪个类的.

该类的定义还可以以下所示:

class Tdate
{
  public:
  void SetDate(int y, int m, int d)
  {year=y; month=m; day=d;}
  int IsLeapYear()
  {return(year%4==0 && year%100!=0) || (year%400==0);}
void Print()
  {cout<   private:
  int yeay, month, day;
}

这样对成员函数的实现(即函数的定义)都写在了类体内,因此类的实现部份被省略了.假如成员函数定义在类体外,则在函数头的前面要加上该函数所属类的标识,这时利用作用域运算符::.

定义类时应注意的事项

1、在类体中不答应对所定义的数据成员举行初始化.

2、类中的数据成员的范例可以是肆意的,包含整型、浮点型、字符型、数组、指针和引用等.也可以是对象.另一个类的对象,可以作该类的成员,但是自身类的对象是不可以的,而自身类的指针或引用又是可以的.当一个类的对象用为这个类的成员时,假如另一个类的的定义在后,需求提早阐明.

3、普通地,在类体内先阐明公有成员,它们是用户所关心的,后阐明私有成员,它们是用户不感爱好的.在阐明数据成员时,普通按数据成员的范例大小,由小至大阐明,这样可提高时空操纵率.

4、常常习惯地将类定义的阐明部份大概整个定义部份(包含实现部份)放到一个头文件中.


  以上是“C++的类和类的定义[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Windows 7 团队泄露:从Beta进级至RC的办法
  • 关于VNC的开机启动
  • RHEL 4下安装VNC的一个小问题
  • 基于MVC的Struts在财政系统中的操纵
  • 消除JDBC的瓶颈
  • 用Struts开辟基于MVC的Web操纵
  • Java底子:若何操纵Static的变量和办法
  • 基于JDBC的数据库衔接池技术研究与筹划
  • 基于JDBC的数据库衔接池高效管理战略
  • 若何测定JDBC的性能
  • <b>如安在Weblogic的全局事件实施多线程操作</b>
  • Java与C的差别点
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .