| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 385 人关注过本帖
标题:新手求教~下面这一小段代码错在哪里?
取消只看楼主 加入收藏
ellie78
Rank: 2
等 级:论坛游民
帖 子:9
专家分:29
注 册:2011-5-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
新手求教~下面这一小段代码错在哪里?
编写了一个名为Crest的类,我想在类外获取Crest的信息。
代码如下:
#include<iostream>
#include<math.h>

using namespace std;

class Crect
{
private:
    int left,right,top,bottom;
public:
    void GetData(int Left,int Right,int Top,int Bottom)
    {
        left = Left;
        right = Right;
        top = Top;
        bottom = Bottom;
    }

    int GetArea()
    {
        return (right-left)*(top-bottom);
    }

    ~Crect()
    {
    }
};

int main()
{
    Crect a;
    int l;
    a.GetData(1,6,8,2);
    l = a.GetData(1,6,8,2);---------------------------A处
    cout<<"left="<<l<<endl;---------------------------B处

    cout<<"The area is: "<<a.GetArea()<<endl;
}
以上。
成员函数GetData设定了矩形的坐标,我想获得left值并将其打印输出。为便于表述,我把有问题的代码标为AB两处。我知道肯定有错,但不太能理解错在何处,该怎么改进?

谢谢~~~~~~~
搜索更多相关主题的帖子: private return 
2011-05-27 04:23
ellie78
Rank: 2
等 级:论坛游民
帖 子:9
专家分:29
注 册:2011-5-27
收藏
得分:0 
楼上的大侠请留步~~~
你提供的解决方法很赞~
但是,我又节外生枝地想了下:如果我想将left,right,top,bottom的值依次全调用并打印出来,怎么改比较好?
我知道再添成员函数
int ReadLeft()
{
return left;
}

int ReadRight()
{
return right;
}

int ReadTop()
{
return top;
}

int ReadBottom()
{
return bottom;
}
应该可行,但是有更好的办法吗?
2011-05-27 09:46
ellie78
Rank: 2
等 级:论坛游民
帖 子:9
专家分:29
注 册:2011-5-27
收藏
得分:0 
以下是引用Toomj在2011-5-27 11:05:15的发言:

在类体中声明友元函数:friend void display(Crect &);

void display(Crect &d)
{
    cout<<d.left<<"/"<<d.right<<"/"<<d.top<<"/"<<d.bottom<<endl;
}


谢谢少侠~~
2011-05-27 11:42
ellie78
Rank: 2
等 级:论坛游民
帖 子:9
专家分:29
注 册:2011-5-27
收藏
得分:0 
回复 5楼 lianjiecuowu
呵呵,谢谢~~
2011-05-27 11:43
快速回复:新手求教~下面这一小段代码错在哪里?
数据加载中...
 
   



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

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