打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
详解C++类和成员函数的定义
达内培训的导师表示,类(class)和对象(object)用于实现计算机世界中的“封装”(Encapsulation),即把数据(属性)和函数(操作)合成一个整体,这是面向对象程序设计最基本的特性。
  C++类的定义
  ◆ 1、在C++中,“类”是一种数据类型。例如,商场中的商品可以用“商品类”来描述。
  商品可以这样描述:
  商品名称(用字符串描述),
  该商品数量(用整型数描述),
  该商品单价(用浮点数描述),
  该商品总价(用浮点数描述)。
  相应的商品类如下:
  class CGoods
  {
  public :
  char Name[21] ; //对于中文可用wchar_t name[11]
  int Amount ;
  float Price ;
  float Total_value ;
  }; //最后的分号不可少
  说明:关键字class是数据类型说明符,指出下面说明的是类。标识符CGoods是商品这个类的类型名。花括号中是构成类体的一系列的成员,此处为数据成员;关键字public是一种访问限定符,表示其后所列为公共成员,就是说可以在外部对这些成员进行访问。
  ◆ 2、类定义的更关键部分是对数据成员的操作。这可以用函数来完成。这些函数也作为类的成员存在!
  class CGoods
  {
  private :
  char Name[21] ;
  int Amount ;
  float Price ;
  float Total_value ;
  public :
  void RegisterGoods(char*,int,float); //登记新商品,此处是函数头
  void CountTotal(void) ; //计算商品总价值
  void GetName(char*) ; //读取商品名
  int GetAmount(void) ; //读取商品数量
  float GetPrice(void) ; //读取商品单价
  float GetTotal_value(void) ; //读取商品总价值
  };
  说明:这个描述商品的方案中,在类中引进了成员函数(或称函数成员)(member function),也就是函数也成了数据(类)中的成员。成员函数可以直接使用类定义中的任一成员,可以处理数据成员,也可调用其他函数成员。
  类把数据(事物的属性)和函数(事物的行为——操作)封装为一个整体。
  C++成员函数的定义
  在前面,只对成员函数作了一个声明,或者讲只给出了函数的原型,并没有对函数进行定义。函数定义通常在类的说明之后进行。
  商品类CGoods中的成员函数可以如下定义:(在前面的代码后加上以下部分)
  void CGoods::RegisterGoods(char* name,int amount, float price)
  //登记新商品
  {
  //char*是指向字符的指针类型说明,name现可理解为字符串
  strcpy(Name , name) ; //字符串拷贝函数
  Amount=amount ; Price=price ;
  }
  void CGoods::CountTotal(void) //计算商品总价值
  {
  Total_value = Price*Amount;
  }
  void CGoods::GetName(char* name) //读取商品名
  {
  strcpy(name , Name);
  }
  int CGoods::GetAmount(void) //读取商品数量
  {
  return(Amount) ;
  }
  float CGoods::GetPrice(void) //读取商品单价
  {
  return(Price) ;
  }
  float CGoods::GetTotal_value(void) //读取商品总价值
  {
  return(Total_value) ;
  }
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
深入理解C语言中的函数声明
[原创] 程序员面试宝典:第七章 指针与引用
C加加 二义性问题
C++ this指针详解
C++之类的构造函数初始化列表
C++学习以及文件夹过滤
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服