| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 653 人关注过本帖
标题:基础问题,你肯定会!但是我却不明白。。。
只看楼主 加入收藏
vvvevvv
Rank: 2
来 自:黑龙江
等 级:论坛游民
帖 子:129
专家分:92
注 册:2010-9-9
结帖率:96%
收藏
已结贴  问题点数:10 回复次数:5 
基础问题,你肯定会!但是我却不明白。。。
程序代码:
#include <iostream>
using namespace std;
class Box
{
   public :
   Box(int,int,int);
   int volume( );
   private :
   int height;
   int width;
   int length;
};
//声明带参数的构造函数//声明计算体积的函数
Box::Box(int h,int w,int len) //在类外定义带参数的构造函数
这里的h、w、len有什么用,不太明白。对构造函数不太懂。已经有了height、width、length 为什么还要定义h、w、len呢
{
   height=h;
   width=w;
   length=len;
}
int Box::volume( ) //定义计算体积的函数
{
   return (height*width*length);这里为什么不是h、w、len呢,如果行14-19删去可不可以。
}
int main( )
{
   Box box1(12,25,30); //建立对象box1,并指定box1长、宽、高的值
   cout<<"The volume of box1 is "<<box1.volume( )<<endl;
   Box box2(15,30,21); //建立对象box2,并指定box2长、宽、高的值
   cout<<"The volume of box2 is "<<box2.volume( )<<endl;
   return 0;
}


[ 本帖最后由 vvvevvv 于 2015-3-17 09:53 编辑 ]
搜索更多相关主题的帖子: volume 
2015-03-17 09:51
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
len有什么用,不太明白。对构造函数不太懂。已经有了height、width、length 为什么还要定义h、w、len呢


===========================================

就是传参,把用户数据传到私有变量里  否则如何办???

DO IT YOURSELF !
2015-03-17 09:53
vvvevvv
Rank: 2
来 自:黑龙江
等 级:论坛游民
帖 子:129
专家分:92
注 册:2010-9-9
收藏
得分:0 
回复 2楼 wp231957
height=h;
   width=w;
   length=len;


这就是传参么,不好意思 我是新手。

学习~
2015-03-17 09:55
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
return (height*width*length);这里为什么不是h、w、len呢

============================

这里就是类的奇妙之处,类初始化完毕后,私有变量就拥有自己的数值,可以参与各种计算,而那个神马h w  len 啥的 都是起到一个中间变量的作用

它随着函数的返回 也就没有意义了

DO IT YOURSELF !
2015-03-17 09:56
ADust、
Rank: 2
等 级:论坛游民
帖 子:21
专家分:57
注 册:2013-1-10
收藏
得分:5 
//声明带参数的构造函数//声明计算体积的函数
Box::Box(int h,int w,int len) //在类外定义带参数的构造函数
这里的h、w、len有什么用,不太明白。对构造函数不太懂。已经有了height、width、length 为什么还要定义h、w、len呢
{
   height=h;
   width=w;
   length=len;
}

这里定义的height,width,length只是BOX的属性,并没有给它定义值。
当你声明一个BOX的时候,可以通过Box::Box(int h,int w,int len) //在类外定义带参数的构造函数,这里面的值给传入构造参数。
在构造参数中给BOX的属性赋值
2015-03-17 09:57
vvvevvv
Rank: 2
来 自:黑龙江
等 级:论坛游民
帖 子:129
专家分:92
注 册:2010-9-9
收藏
得分:0 
似乎明白点了  谢谢了!

学习~
2015-03-17 10:01
快速回复:基础问题,你肯定会!但是我却不明白。。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026091 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved