设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 576|回复: 9
打印 上一主题 下一主题

关于类指针

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-3 03:06:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <string>
using namespace std;
class stu
{public:
stu(int a=0,int b=0):num(a),success(b){};
void max(stu *pt);
private:
int num;
int success;
};
void stu::max(stu *pt)
{
stu *p;
int i=0,max=0;
while(i<5)
{if(max<pt[i].success)
p=pt;i++;}
cout<<"MAX is:"<<endl<<"NUM:"<<p->num<<"SUC:"<<p->success<<endl;
}
int main()
{
stu a[5]={stu(1001,50),
stu(1002,70),
stu(1003,80),
stu(1004,90),
stu(1005,95),
};
stu *pt=a;
void max(stu pt);
return 0;
}
大家帮我看看 错哪了 为什么 没有结果
2#
发表于 2009-11-3 03:06:05 | 只看该作者
#include <string>
#include <iostream>
using namespace std;
class stu
{
        public:
                stu(int a=0,int b=0):num(a),success(b){};
                static void max(stu *pt);
        private:
                int num;
                int success;
};
void stu::max(stu *pt)
{
        stu *p;
        int i=0,max=0;
        while(i<5)
        {
                if(max<pt[i].success)
                p=&pt[i];
                i++;
        }
        cout<<"MAX is:"<<endl<<"NUM:"<<p->num<<"SUC:"<<p->success<<endl;
}

int main()
{
        stu a[5]={stu(1001,50),
                stu(1002,70),
                stu(1003,80),
                stu(1004,90),
                stu(1005,95),
        };
        stu::max(a);
        return 0;
}
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-3 03:06:06 | 只看该作者
static void max(stu *pt);
为什么要声明成static
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-3 03:06:07 | 只看该作者
stu::max(a);在主函数里这样写是什么意思。
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-3 03:06:08 | 只看该作者
建一个对象数组,内放5个学生的数据(学号,成绩),设立一个函数MAX,用指向对象的指针作函数的参数,在MAX函数中找到5个学生中成绩最高者,并输出学号。
如何按要求编写?
回复 支持 反对

使用道具 举报

6#
发表于 2009-11-3 03:06:09 | 只看该作者
static void max(stu *pt);
为什么要声明成static

因为是主函数通过类对象调用,当然也可以不写成static,不过加上static静态成员函数,更直观
---------------------------
stu::max(a);在主函数里这样写是什么意思。
调用stu函数静态成员函数max
-------------------------------
建一个对象数组,内放5个学生的数据(学号,成绩),设立一个函数MAX,用指向对象的指针作函数的参数,在MAX函数中找到5个学生中成绩最高者,并输出学号。
如何按要求编写?
二楼不是帮你改好了吗?
回复 支持 反对

使用道具 举报

7#
发表于 2009-11-3 03:06:11 | 只看该作者
但是书上说不能这样调用函数啊
(stu::max(a))
回复 支持 反对

使用道具 举报

8#
发表于 2009-11-3 03:06:12 | 只看该作者
加个#include <iostream>
在我的编译器上就没问题的
回复 支持 反对

使用道具 举报

9#
发表于 2009-11-3 03:06:14 | 只看该作者
stu a[5]和 while(i<5)的接口很不好~!
回复 支持 反对

使用道具 举报

10#
发表于 2009-11-3 03:06:15 | 只看该作者
why
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 07:50 , Processed in 0.096443 second(s), 9 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表