类与对象中的类成员函数

其实和之前的函数什么的没有太大的区别,这里的类函数,就是给了一个限定范围,限定在类里边,类成员函数有两种定义方式。(在这只讲有关类成员函数的有关概念,其它暂且不谈)

//类与对象中的类成员函数类与对象中的类成员函数
//其实和之前的函数什么的没有太大的区别,这里的类函数,就是给了一个限定范围,
//限定在类里边,类成员函数有两种定义方式。
//
//第一种,类成员函数直接在类的内部进行定义。
//    #include <iostream>
//    using namespace std;
//  class Box {
//    double length;
//    double breadth;
//    double height;
//       double getVolume(void) {
//           return height*height*breadth;
//       }
//  };


//第二种方式,在类的外部使用范围解析运算符::定义该函数
//    #include <iostream>
//    using namespace std;
//  class Box {
//    double length;
//    double breadth;
//    double height;
//       double getVolume(void);
//};
//  double Box::getVolume(void) {
//  return length*breadth*height
// }


//稍微注意一个点,在::范围解析运算符之前必须使用类名。
// 调用成员函数是在对象上使用点运算符 (.) 进行调用
//Box myBox;创建一个对象

// myBox.getVolume(); 调用该对象的成员函数

//在使用类函数时,要注意调用它的权限(它能否被调用)以及它的作用域(函数能使用什么范围中的数据和函数)。
//例如私有的成员函数只能被本类中的其它成员函数所调用,而不能被类外调用。
//成员函数可以访问本类中任何成员(包括私有的和公用的),可以引用在本作用域中有效的数据。

//一般的做法是将需要被外界调用的成员函数指定为public,它们是类的对外接口。但应注意,并非要求把所有成员函数都指定为public。
//有的函数并不是准备为外界调用的,而是为本类中的成员函数所调用的,就应该将它们指定为private。
//这种函数的作用是支持其它函数的操作,是类中其它成员的工具函数(utility function),类外用户不能调用这些私有的工具函数。

//类的成员函数是类体中十分重要的部分。如果一个类中不包含成员函数,就等同于C语言中的结构体了,体现不出类在面向对象程序设计中的作用。

//        需要注意的一点是,先在类内对成员函数进行声明,后在类外对其进行定义是一个好习惯,在类内部定义的函数属于内联函数 

//下面进行Box类与对象及成员函数的使用的具体代码的实现
#include <iostream>
using namespace std;
class  Box {
    public:
    double length;
    double breadth;
    double height;
    //下面进行成员函数的声明 
    double getVolume(void);
    void setlength(double len);
    void setheight(double hei);
    void setbreadth(double bre);
};

double Box::getVolume(void) {
    return height*length*breadth;
}
void Box::setlength(double len) {
    length=len;
}

void Box::setbreadth(double bre) {
    breadth=bre;
}

void Box::setheight(double hei) {
    height=hei;
}
//以上是成员函数的定义部分,下面开始编写主函数 
 int main() {
     Box Box1;//声明Box1 (也就是创建一个Box1)
     Box Box2;//声明Box2 
     double volume=0.0;//初始化体积,用来存储体积
    double volume2=0.0;

//Box1详述
Box1.setlength(6.0);
Box1.setbreadth(8.0);
Box1.setheight(9.0);


//Box2详述 
Box2.setlength(6.0);
Box2.setbreadth(8.0);
Box2.setheight(6.0);
volume=Box1.getVolume();
cout<<"Box1的体积为:"<<volume<<endl;
volume=Box2.getVolume();
cout<<"Box2的体积为:"<<volume<<endl;
return 0;
 }
注意:在类体中直接定义函数时,不需要在函数名前面加上类名,因为函数属于哪一个类是不言而喻的。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值