设计一个学生类,成员变量包括学号、姓名、性别。成员函数如下:构造函数对学生的所有属性初始化,无参数的构造函数设置学号为1001,姓名为Zhangsan,性别为M(M代表男,F代表女)。性别需要使用枚举

#include<iostream>
using namespace std;
enum class sex_set { F, M };//定义枚举类型
enum class sex_set sex;//定义枚举变量
class StudentInfo
{
private:
    string xuehao;
    string xm, xb;
    sex_set sex;
public:
    StudentInfo() :xuehao("1001"), xm("Zhangsan"), sex{sex_set::M }{};//构造函数,并且设置sex最初为M对应的整数
    void inputStudentInfo(string a1, string b1, string c1);//成员函数
    void showStudentInfo();//成员函数
};
inline void StudentInfo::showStudentInfo()//成员函数定义
{
    if (sex == sex_set::M)
    {
        xb = "M";
    }
    if (sex == sex_set:: F)
    {
        xb = "F";
    }
    cout << xuehao << " " << xm << " " << xb << " " << endl;
}
void StudentInfo::inputStudentInfo(string a1, string b1, string c1)//成员函数定义
{
    xuehao = a1;
    xm = b1;
    if (c1 == "F")
    {
        sex = sex_set::F;
    }
    else
    {
        sex = sex_set::M ;
    }
}
int main()
{
    StudentInfo Info;//调用构造函数初始化
    Info.showStudentInfo();//输出结果
    string a;
    string b, c;
    while (cin >> a >> b >> c) {//多组输入
        Info.inputStudentInfo(a, b, c);
        Info.showStudentInfo();
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 程序,创建两个学生对象并输出他们的信息。 代码如下: ``` #include <iostream> #include <string> using namespace std; class Student { private: string name; int id; char gender; int age; public: Student(string n, int i, char g, int a) { name = n; id = i; gender = g; age = a; } void printInfo() { cout << "姓名:" << name << endl; cout << "学号:" << id << endl; cout << "性别:" << gender << endl; cout << "年龄:" << age << endl; } }; int main() { Student s1("张三", 1001, 'M', 18); Student s2("李四", 1002, 'F', 19); s1.printInfo(); cout << endl; s2.printInfo(); return ; } ``` 输出结果如下: ``` 姓名:张三 学号1001 性别:M 年龄:18 姓名:李四 学号:1002 性别:F 年龄:19 ``` ### 回答2: 首先,我们需要定义一个名为student的类,该类有四个私有成员变量学生姓名学号性别和年龄。代码如下: ```c++ class student{ private: string name; // 学生姓名 int id; // 学生学号 char gender; // 学生性别 int age; // 学生年龄 public: student(string n, int i, char g, int a); // 构造函数 void printInfo(); // 输出学生信息函数 }; ``` 构造函数用于初始化学生信息,代码如下: ```c++ student::student(string n, int i, char g, int a){ name = n; id = i; gender = g; age = a; } ``` 输出学生信息的函数用于打印学生姓名学号性别和年龄等信息,代码如下: ```c++ void student::printInfo(){ cout << "姓名:" << name << endl; cout << "学号:" << id << endl; cout << "性别:" << gender << endl; cout << "年龄:" << age << endl; } ``` 然后我们需要在主函数中定义一个student对象并初始化参数,然后调用printInfo()函数输出学生信息。代码如下: ```c++ int main(){ student s("张三", 201920101, 'M', 18); // 创建student对象并初始化 s.printInfo(); // 调用printInfo()函数输出学生信息 return 0; } ``` 这样就实现了一个简单的学生类,可以用于管理学生信息。当然,在实际应用中,我们可能需要添加其他的成员变量成员函数来满足需求。 ### 回答3: 建立一个名为Student的类,这是一个非常基本的面向对象编程(OOP)问题。我们可以使用C++来实现一个这样的类。 首先,我们需要定义学生姓名学号性别和年龄这四个私有成员变量。这些成员变量只能在类的内部使用,因此用私有访问修饰符进行声明。由于我们需要构造函数初始化这四个变量,因此还需要构造函数设为公有: ``` class Student { private: string name; int id; char gender; int age; public: Student(string name, int id, char gender, int age); void output(); }; ``` 现在我们需要定义两个成员函数构造函数和输出学生信息的函数。构造函数需要使用特殊的语法来定义,在函数名前面加上类名并使用参数初始化成员变量。 ``` Student::Student(string n, int i, char g, int a) { name = n; id = i; gender = g; age = a; } ``` 输出函数非常简单,它只需要学生姓名学号性别和年龄输出出来即可: ``` void Student::output() { cout << "Name: " << name << endl; cout << "ID: " << id << endl; cout << "Gender: " << gender << endl; cout << "Age: " << age << endl; } ``` 现在我们已经定义了一个名为Student的类,其中包含私有的学生姓名学号性别和年龄。我们还定义了一个公有的构造函数和输出函数。 最后,我们需要编写一个主函数来测试我们的代码。在这个主函数中,我们可以创建一个Student对象并调用输出函数来显示学生信息。 ``` int main() { string name; int id; char gender; int age; cout << "Enter student name: "; getline(cin, name); cout << "Enter student ID: "; cin >> id; cout << "Enter student gender (M/F): "; cin >> gender; cout << "Enter student age: "; cin >> age; Student student(name, id, gender, age); student.output(); return 0; } ``` 这个程序会提示用户输入学生姓名学号性别和年龄。然后创建一个Student对象,使用输入的数据来初始化它的成员变量,并调用输出函数来显示学生信息。 综上所述,我们在这里演示了如何构建一个名为Student的类,并定义了它的私有成员变量和公有成员函数,以及如何在主函数中创建一个对象并调用输出函数显示学生信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

歪比八布

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值