定义一个学生类Student,其包含的私有成员数据有:学号num,姓名name,年龄age。公有成员函数有get获得个人数据,公有成员函数show显示个人数据。 main函数中读入相关信息,并创建对象,调用对象的get方法设置对象的所有数据成员,并调用对象的show方法显示个人数据。 【输入形式】 学号 姓名 年龄 【输出形式】 学号 姓名 年龄 【样例输入】 1 zhangsan 18 【样例输出】 1 zhangsan 18用c++写代码
时间: 2024-02-19 22:57:28 浏览: 92
以下是C++代码实现:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Student {
private:
string num; // 学号
string name; // 姓名
int age; // 年龄
public:
void get(string n, string na, int a) {
num = n;
name = na;
age = a;
}
void show() {
cout << num << " " << name << " " << age << endl;
}
};
int main() {
string num, name;
int age;
cin >> num >> name >> age;
Student stu;
stu.get(num, name, age);
stu.show();
return 0;
}
```
运行结果:
输入:
```
1 zhangsan 18
```
输出:
```
1 zhangsan 18
```
相关问题
、声明一个学生类Student,设计私有数据成员: 年龄 age; 姓名 name;静态数据成员:学生人数 count; 定义4个公有成员函数:参数带默认值(0, “no”)的构造函数,改变学生姓名的函数setName,获取数据成员函数get
以下是你要求的代码:
```cpp
class Student {
private:
int age;
string name;
static int count;
public:
Student(int age = 0, string name = "no") {
this->age = age;
this->name = name;
count++;
}
void setName(string name) {
this->name = name;
}
int getAge() {
return age;
}
string getName() {
return name;
}
static int getCount() {
return count;
}
};
int Student::count = 0; // 静态数据成员需要在类外进行初始化
int main() {
Student s1(18, "Tom");
Student s2(19, "Alice");
cout << "Total number of students: " << Student::getCount() << endl; // 输出:Total number of students: 2
s1.setName("Jerry");
cout << "Student 1 name: " << s1.getName() << endl; // 输出:Student 1 name: Jerry
return 0;
}
```
这里定义了一个学生类`Student`,它包含了私有数据成员`age`和`name`,以及静态数据成员`count`。在构造函数中,初始化了年龄和姓名,并且每次创建对象时,静态数据成员`count`会自增1。`setName`函数可以改变学生的姓名,`getAge`和`getName`函数可以分别获取学生的年龄和姓名。`getCount`函数是一个静态成员函数,可以获取学生的总人数。
在`main`函数中,创建了两个学生对象`s1`和`s2`,并且通过`Student::getCount()`函数获取了学生的总人数。然后,通过`s1.setName("Jerry")`函数将`s1`的姓名改为了"Jerry",并且通过`s1.getName()`函数获取了`s1`的姓名。
声明一个学生类Student,设计私有数据成员: 年龄 age; 姓名 name;静态数据成员:学生人数 count; 定义4个公有成员函数:参数带默认值Ɛ, “no”)的构造函数,改变学生姓名的函数setName,获取数据成员函数getAge, getName;定义静态成员函数showCount;定义友元函数:修改学生年龄 changeAge。
以下是学生类Student的定义:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Student {
private:
int age;
string name;
static int count;
public:
Student(int age = 0, string name = "no") {
this->age = age;
this->name = name;
count++;
}
void setName(string name) {
this->name = name;
}
int getAge() {
return age;
}
string getName() {
return name;
}
static void showCount() {
cout << "Number of students: " << count << endl;
}
friend void changeAge(Student& s, int age);
};
int Student::count = 0;
void changeAge(Student& s, int age) {
s.age = age;
}
int main() {
Student s1(20, "Tom");
Student s2(22, "Jerry");
Student::showCount();
cout << s1.getName() << " is " << s1.getAge() << " years old." << endl;
changeAge(s1, 21);
cout << s1.getName() << " is " << s1.getAge() << " years old." << endl;
s2.setName("Lucy");
cout << s2.getName() << " is " << s2.getAge() << " years old." << endl;
return 0;
}
```
在上面的代码中,我们定义了一个学生类Student,其中包含私有数据成员age和name,以及一个静态数据成员count。age和name用于存储学生的年龄和姓名,count用于记录学生的数量。
我们还定义了4个公有成员函数:一个构造函数,一个改变学生姓名的函数setName,一个获取数据成员函数getAge和一个获取数据成员函数getName。构造函数有两个参数,其中age的默认值是0,name的默认值是"no"。
我们还定义了一个静态成员函数showCount,用于显示学生的数量。
最后,我们定义了一个友元函数changeAge,用于修改学生的年龄。在main函数中,我们创建了两个学生对象s1和s2,调用了它们的成员函数和静态成员函数,并调用了友元函数changeAge修改了s1的年龄。
阅读全文