| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 556 人关注过本帖
标题:求助:友元函数
只看楼主 加入收藏
漠漠残香
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-5-3
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:5 
求助:友元函数
#include<iostream.h>
class student
{
private:
    int number,grade;
    char name[20];
public:
    student(int num,int gra,char na[20])
    {number=num;
    grade=gra;
    name[20]=na[20];}
    void out(int num,int gra,char na[20])
    {cout<<"姓名:"<<na<<"学号:"<<num<<"成绩:"<<gra<<endl;}
    friend int compare(student &s1,student &s2);
};
int compare(student &s1,student &s2)
{
    if(s1.grade>s2.grade)
        cout<<"The better:"<<"姓名:"<<s1.name<<"学号:"<<s1.number<<"成绩:"<<s1.grade<<endl;
    else
        cout<<"The better:"<<"姓名:"<<s2.name<<"学号:"<<s2.number<<"成绩:"<<s2.grade<<endl;
    return 0;
}
int main()
{
    student s1(1,76,"Jane"),s2(2,81,"Jack");
    s1.out(1,76,"Jane");
    s2.out(2,81,"Jack");
    int compare(s1,s2);
    return 0;
}
Int 类型不对,该换什么
搜索更多相关主题的帖子: private compare include public number 
2015-05-09 22:23
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:7 
你这个只是做了比较然后输出其实不需要返回值返回void把return 0去掉,你的out函数不需要参数,直接用数据成员就行了

一片落叶掉进了回忆的流年。
2015-05-09 23:10
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:7 
调用时把返回类型int去掉
2015-05-10 07:56
hzj199603
Rank: 2
来 自:南京
等 级:论坛游民
帖 子:18
专家分:32
注 册:2015-3-29
收藏
得分:7 
回复 楼主 漠漠残香
#include<iostream>
#include<string>
using namespace std;
class student
{
private:
    int number,grade;
    string name;
public:
    student(int num,int gra,string na)
    {number=num;
    grade=gra;
    name=na;}
    void out(int num,int gra,string na)
    {cout<<"姓名:"<<na<<"学号:"<<num<<"成绩:"<<gra<<endl;}
    friend void compare(student &s1,student &s2);
};
void compare(student &s1,student &s2)
{
    if(s1.grade>s2.grade)
        cout<<"The better:"<<"姓名:"<<s1.name<<"学号:"<<s1.number<<"成绩:"<<s1.grade<<endl;
    else
        cout<<"The better:"<<"姓名:"<<s2.name<<"学号:"<<s2.number<<"成绩:"<<s2.grade<<endl;
}
int main()
{
    student s1(1,76,"Jane"),s2(2,81,"Jack");
    s1.out(1,76,"Jane");
    s2.out(2,81,"Jack");
    void compare(student s1,student s2);
    return 0;
}

[ 本帖最后由 hzj199603 于 2015-5-12 18:37 编辑 ]
2015-05-12 18:36
漠漠残香
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-5-3
收藏
得分:0 
回复 2楼 诸葛欧阳
多谢
2015-05-25 00:01
漠漠残香
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2015-5-3
收藏
得分:0 
回复 楼主 漠漠残香
多谢,
2015-05-25 00:01
快速回复:求助:友元函数
数据加载中...
 
   



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

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