C++编程:设计一个Student类,每名学生包含学号姓名和总评成绩,学生的总评成绩通过赋值运算符=得到

设计一个Student类,每名学生包含学号姓名和总评成绩三个属性,学生的总评成绩通过赋值运算符=得到,能通过普通函数display输出学号姓名和总评成绩要求:运用友元和运... 设计一个Student类,每名学生包含学号姓名和总评成绩三个属性,学生的总评成绩通过赋值运算符=得到,能通过普通函数display输出学号姓名和总评成绩
要求:
运用友元和运算符重载
学生的学号和姓名通过初始化得到
考虑如何通过“对象名=总评成绩”实现给对象的总评成绩属相赋值
用多文件结构实现程序
问题:刚学这块,不太懂,构造函数时还需要声明总评成绩的形参吗,还有对象名=总评成绩这个运算符重载我不太理解,是怎么回事啊,有好心人能指点一下吗
展开
 我来答
liouyi250
2019-03-10 · TA获得超过314个赞
知道小有建树答主
回答量:375
采纳率:60%
帮助的人:65.6万
展开全部

分三个文件

//student.h
#ifndef _student_h_
#define _student_h_

class Student{
private:
char name[20];
char no[20];
float score;
public:
Student(char *name,char* no);
friend void display(Student s);
Student& operator =(float score);
};

#endif

//student.cpp
#include <iostream>
#include <string.h>
#include "student.h"
using namespace std;

Student::Student(char *name,char *no){
strcpy(this->name,name);
strcpy(this->no,no);
}

void display(Student s){
cout<<"姓名:"<<s.name<<",学号:"<<s.no<<endl;
}

Student& Student::operator =(float score){
this->score=score;
return *this;
}

//main.cpp
#include <iostream>
#include "student.h"
using namespace std;


int main(){
Student t("ly","123");
t=23.4;
display(t);
}

//我的电脑中文乱码,不要在意

更多追问追答
追问

我按照你写的这个代码运行出来什么都没有,但是检验发现构造函数和析构函数都被调用了,不知道为什么

追答
构造和析构被调用了,说明类被new出来了,你检查一下赋值的时候有没有问题
群站活1W
2019-03-10 · TA获得超过307个赞
知道答主
回答量:136
采纳率:45%
帮助的人:65.1万
展开全部
Student类,每
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式