#include<iostream> using namespace std; class Student { public: Student(int n, int nam, char s) { num = n; name = nam; sex = s; } ~Student() { } protected: int num; string name; char sex; }; class Student1 :public Student { public: Student1(int n, string nam, char s, int a, string ad) :Student(n, nam, s) { age = a; addr = ad; } void show() { cout << "num: " << num << endl; cout << "name: " << name << endl; cout << "sex: " << sex << endl; cout << "age: " << age << endl; cout << "address: " << addr << endl; } ~Student1() { } private: int age; string addr; }; int main() { Student1 stud1(10010, "Wang-li", 'f', 19, "115 Beijing Road,Shanghai"); Student1 stud2(10011, "Zhang-fang", 'm', 21, "213 Shanghai Road,Beijing"); stud1.show(); stud2.show(); return 0; }
时间: 2024-04-22 21:22:49 浏览: 165
这是一个可以编译通过的C++程序,它定义了两个类:Student和Student1。Student1是从Student继承而来的,并添加了两个私有成员变量age和addr。在main函数中,创建了两个Student1类的实例,分别为stud1和stud2,并分别传入了不同的参数。最后,调用了每个实例的show()方法,输出了每个实例的详细信息。
需要注意的是,Student类中的name成员变量应该为string类型,而不是int类型。在构造函数中,num、name和sex分别被初始化为传递进来的参数n、nam和s。在Student1类中,构造函数中调用了父类Student的构造函数,并且添加了两个新的参数a和ad,并将这些成员变量初始化。最后,show()方法被用于输出每个实例的所有成员变量。
相关问题
#include<iostream> #include<string> using namespace std; namespace student2 { class Student { public: Student(int n,string nam,char s,float sco) { num=n; name=nam; sex=s; score=sco; } void show_data(); private: int num; string name; char sex; float score; }; void Student::show_data() { cout<<"num:"<<num<<" name:"<<name<<" sex:"<<sex<<" score:"<<score<<endl; } }
这是一个C++程序,包含了头文件iostream和string,并定义了一个命名空间student2和一个类Student。该类包含了一个构造函数和一个成员函数show_data,构造函数用于初始化类的数据成员,show_data函数用于输出数据成员的值。
该类的数据成员包括num、name、sex和score,分别表示学号、姓名、性别和成绩。show_data函数用于输出这些数据成员的值。
该程序中使用了命名空间student2,可以避免命名冲突。如果在程序中使用了多个类或函数,并且它们的名称相同,可以使用命名空间来区分它们。
定义一个描述学生基本情况的类,数据成员包括:年龄、姓名、性别;成员函数包括:输入和输出各个数据成员的值。 分别给出如下的3个文件: ①含类定义的头文件student.h, //student.h class Student { public: void display( ); private: int num; char name[20]; char sex; }; ②包含成员函数定义的源文件student.cpp //student.cpp #include <iostream> using namespace std; #include "student.h" void Student::display( ) { cout<<"num: "<<num<<endl; cout<<"name: "<<name<<endl; cout<<"sex: "<<sex<<endl; } ③包含主函数的源文件main.cpp。 为了组成一个完整的源程序,应当有包括主函数的源文件: //main.cpp #include <iostream> using namespace std; #include "student.h" int main( ) {Student stud; stud.display(); return 0; } 请完善该程序,在类中增加一个对数据成员赋初值的成员函数set_value。修改补充代码并上机运行
/student.h
```c++
class Student {
public:
void display();
void set_value(int n, char *nam, char s);
private:
int num;
char name[20];
char sex;
};
```
/student.cpp
```c++
#include <iostream>
#include "student.h"
using namespace std;
void Student::display() {
cout << "num: " << num << endl;
cout << "name: " << name << endl;
cout << "sex: " << sex << endl;
}
void Student::set_value(int n, char *nam, char s) {
num = n;
strcpy(name, nam);
sex = s;
}
```
/main.cpp
```c++
#include <iostream>
#include "student.h"
using namespace std;
int main() {
Student stud;
stud.set_value(1001, "Tom", 'M');
stud.display();
return 0;
}
```
阅读全文