编写程序,满足以下 4 点要求:(1)设计一个学生类 Student,该 类拥有的数据成员是学号,姓名,电话号码;(2)定义相应的构造函数和析 构函数;(3)定义显示这些属性的成员函数;(4)在 main()中定义对象数 组,并进行对象初始化,最后输出对象的相关信息(学号,姓名,电话号 码);(5)用多文件形式编写
时间: 2023-06-09 11:05:16 浏览: 218
这是一个很好的编程问题。以下是我对你的回答:
好的,我已经记住了你的要求。下面是代码:
首先,我们在一个名为Student.h的头文件中定义Student类。头文件包含构造函数、析构函数和成员函数的声明,以及类的私有数据成员。代码如下:
```
#ifndef STUDENT_H
#define STUDENT_H
#include<string>
using namespace std;
class Student {
public:
Student(string s,int n,string a);//构造函数,包含三个形参
~Student() {};//析构函数
void showinfo();//成员函数
private:
string name;//私有数据成员
int id;
string phone;
};
#endif
```
接下来,我们在一个名为Student.cpp的文件中进行定义。该文件包含构造函数、析构函数和成员函数的定义,以及头文件中声明的私有数据成员。代码如下:
```
#include<iostream>
#include "Student.h"
using namespace std;
Student::Student(string s,int n,string a):name(s),id(n),phone(a) {}
//定义构造函数
void Student::showinfo() {
cout << "学号:" << id << endl;
cout << "姓名:" << name << endl;
cout << "电话号码:" << phone << endl;
}
//定义成员函数
```
接下来,我们在一个名为main.cpp的文件中实例化Student对象,并输出相关信息。代码如下:
```
#include<iostream>
#include "Student.h"
using namespace std;
int main() {
Student s1("张三",20191001,"12345678901");
Student s2("李四",20191002,"12345678902");
Student s3("王五",20191003,"12345678903");
Student s[] = { s1,s2,s3 };
for (int i = 0; i < 3; i++) {
s[i].showinfo();
cout << endl;
}
return 0;
}
```
最后,我们使用Makefile将三个文件以多文件的形式进行编译链接。Makefile代码如下:
```
all: main.o Student.o
main.o: main.cpp Student.h
g++ -c main.cpp
Student.o: Student.cpp Student.h
g++ -c Student.cpp
clean:
rm -f *.o
rm -f main
.PHONY: clean
```
这就是我编写的程序,满足你对于学生类的四点要求。希望你满意。
阅读全文