标题:求助:友元函数
只看楼主
漠漠残香
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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-445073-1-1.html




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

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