您的位置:首页 > 编程语言 > C语言/C++

1348 [BA1000] The Student Class with Public Data Fields

2017-05-28 12:23 465 查看

Description

With a class "Student" declared as below:
class Student {
public:
int id;
char name[50]; // Data field
int age; // Data field
Student();
Student(int, char*, int);
};

You are required to implement the class functions and also two other functions used to process Student objects, which can get output as specified later.

void set(Student &, int, char*, int);
void print(Student);

1) You don't need to submit the main function.
2) You don't need to include the header file for class declaration by yourself.


Output

Steven Gates (100) is 61 years old.
Larry Jordan (123) is 18 years old.
No Name (124) is 0 years old.


提示,头文件请包涵如下代码:

#include<iostream>
#include<cstring>
using namespace std;

class Student
{
public:
int id;
char name[50]; // Data field
int age; // Data field
Student();
Student(int, char*, int);
//void set(int, char*, int);
//void print();
};

void set(Student &, int, char*, int);
void print(Student);


Provided Codes

framework.cpp

#include <iostream>
#include <cstring>
#include "source.h"
using namespace std;

int main()
{

Student std1, std2(123, "Larry Jordan", 18), std3(124);
set(std1, 100, "Steven Gates", 61);
print(std1);
print(std2);
print(std3);
return 0;
}


Submission

source.h

#include <iostream>
#include <cstring>
using namespace std;

class Student {

public:
int id;
char name[50]; // Data field
int age; // Data field
Student();
Student(int, char*, int);
};

Student::Student(){
id=0;
strcpy(name,"No Name");
age=0;
}

Student::Student(int Id,char* Name="No Name",int Age=0){
id=Id;
strcpy(name,Name);
age=Age;
}

void set(Student &stu, int Id, char* Name, int Age){
stu.id=Id;
strcpy(stu.name,Name);
stu.age=Age;
}

void print(Student stu){
cout<<stu.name<<" ("<<stu.id<<") is "<<stu.age<<" years old."<<endl;
}


Standard Answer

source.h

#include <iostream>
#include <cstring>
using namespace std;
class Student
{
public:
int id;
char name[50]; // Data field
int age; // Data field
Student();
Student(int, char*, int);
//void set(int, char*, int);
//void print();
};

void set(Student &, int, char*, int);
void print(Student);

Student::Student() {
id=0;
strcpy(name,"No Name");
age=0;
}
Student::Student(int pid,char* pname="No Name",int page=0) {
id=pid;
strcpy(name,pname);
age=page;
}
void set(Student&stu,int id,char*name,int age) {
stu.id=id;
stu.age=age;
strcpy(stu.name,name);
}
void print(Student stu) {
cout<< stu.name <<" ("<<stu.id<<") "<<"is "<<stu.age<<" years old."<<endl;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++
相关文章推荐