| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 771 人关注过本帖
标题:关于C++的简单问题,各位大侠帮忙啊。。。
只看楼主 加入收藏
我是菜鸟C
Rank: 4
等 级:业余侠客
帖 子:74
专家分:200
注 册:2011-3-27
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:5 
关于C++的简单问题,各位大侠帮忙啊。。。
#include <iostream>
using namespace std;
class myclass
{
private:
    int value;
   
public:
    myclass(int a) {value=a;}
    int max() {return x>y?x:y;}
    int max(int x,int y,int z=0)
    {
        if(x>y)
            return x>z?x:z;
        else
            return y>z?y:z;
    }
    ~myclass(int a)
    {
        value=0;
    }

};

void main()
{
    myclass my;
    my.max(10,20);
   
}
这个代码哪里有错。。。??
搜索更多相关主题的帖子: return 
2011-03-31 23:18
wu_qingzhou
Rank: 1
等 级:新手上路
帖 子:43
专家分:2
注 册:2009-4-27
收藏
得分:0 
#include <iostream>
using namespace std;
class myclass
{
private:
    int value;
   
public:
//    myclass(int a) {value=a;}
    myclass(int a=0) {value=a;}
//  int max() {return x>y?x:y;}  //我觉得这里也有问题吧,x和y都没有定义,就先使用了,这不是不允许的吗?
    int max(int x,int y,int z=0)
    {
        if(x>y)
            return x>z?x:z;
        else
            return y>z?y:z;
    }
    ~myclass(/*int a*/)      // 我想问一下,你在这里弄一个形参a是为了什么?
    {
        value=0;
    }

};

void main()
{
   
    myclass my;     // 因为你的构造函数有参数,而且不可缺省,所以不能这样申明my。应该这样myclass my(1);如果你要坚持这样的话,你可以把上面的
                    // myclass(int a) {value=a;}改成myclass(int a=0) {value=a;}
   
//  my.max(10,20);
    cout<<my.max(10,20)<<endl;
   
}
2011-03-31 23:40
我是菜鸟C
Rank: 4
等 级:业余侠客
帖 子:74
专家分:200
注 册:2011-3-27
收藏
得分:0 
回复 2楼 wu_qingzhou
这是书上一个题目的代码。
我也试过好多次好多地方,,但是就是调试不出来。
你说的那些我也想过,但是就是调试不出。
我觉得是max定义的地方出了问题。
2011-03-31 23:59
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:0 
用的什么编译器?没给你指出是哪一行出的什么错么?

迭代的是人,递归的是神。
2011-04-01 08:15
木头lbj
Rank: 7Rank: 7Rank: 7
来 自:黄山
等 级:黑侠
威 望:1
帖 子:269
专家分:527
注 册:2010-11-6
收藏
得分:10 
程序代码:
#include <iostream>
using namespace std;
class myclass
{
private:
    int value;
    int x,y;//x,y要定义
    int a;
   
public:

    myclass(/*int a*/) {value=a;}//构造函数。我不明白你定义参数a是做什么用的
    int max() {return x>y?x:y;}
    int max(int x,int y)
    {
            int z=0;
        if(x>y)
            return x>z?x:z;
        else
            return y>z?y:z;
    }
    ~myclass(/*int a*/)//析构函数不允许带参数
    {
        value=0;
    }

};

void main()
{
    myclass my;
    cout<<my.max(10,20) << endl;//没有输出看不见打印结果
   
}
我不明白你是想要实现什么。这是我改的。通过编译,也输出了y即20

。。。!!!)))000
2011-04-01 09:11
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
神奇的程序,呵呵,大家都不知道你是如何调试的,为什么别人都可以调试出来就你调试不出来呢?
能解释一下你的调试过程吗?

我们都在路上。。。。。
2011-04-01 12:24
快速回复:关于C++的简单问题,各位大侠帮忙啊。。。
数据加载中...
 
   



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

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