21xrx.com
2024-09-20 00:49:04 Friday
登录
文章检索 我的文章 写文章
C++ 面向对象类题目
2023-07-04 21:06:50 深夜i     --     --
C++ 编程语言 面向对象编程 类和对象 OOP 特性 继承和多态

C++是一种常用的面向对象编程语言,也是学习程序设计的基本语言之一。在学习过程中,涉及到各种面向对象的类设计,这些类的功能多种多样,需要我们仔细掌握。

首先,我们来看一个简单的题目:

设计一个学生类,包括学生姓名、学号、性别和成绩四个字段,并编写代码实现输入、打印学生信息和查询姓名和学号的功能。

根据题目要求,我们来设计这个学生类。

1. 定义类名

我们可以使用class关键字定义类,类名为Student。

2. 定义类成员

由题目可得,学生类需要有四个成员:姓名、学号、性别和成绩。我们定义数据类型为字符串和数值型,如下:


class Student

public:

  string name;

  int id;

  string gender;

  double score;

;

其中,public关键字表示该成员可以被类外部代码访问。

3. 定义类方法

根据题目,我们还需要实现输入、打印学生信息和查询姓名和学号的功能。我们可以定义成员方法来实现这些功能:


class Student {

public:

  string name;

  int id;

  string gender;

  double score;

  

  void input();

  void print();

  void queryName(string);

  void queryId(int);

};

void Student::input()

  cout << "请输入学生姓名、学号、性别和成绩:" << endl;

  cin >> name >> id >> gender >> score;

void Student::print()

  cout << "姓名:" << name << endl;

  cout << "学号:" << id << endl;

  cout << "性别:" << gender << endl;

  cout << "成绩:" << score << endl;

void Student::queryName(string s) {

  if (s == name) {

    print();

  }

}

void Student::queryId(int i) {

  if (i == id) {

    print();

  }

}

以上代码中,我们使用了::运算符,它表示该成员方法属于Student类。在定义输入、打印学生信息和查询姓名和学号的函数时,我们需要根据函数的参数类型来判断输入的姓名或学号是否与该学生的信息匹配。如果相同,将打印该学生的信息。

4. 实现主程序

最后,我们需要在主程序中实现运行该学生类,并完成查询和打印等操作:


int main() {

  Student stu;

  int flag = 1;

  while (flag) {

    cout << "请选择操作:1. 输入学生信息;2. 查询学生信息; 3. 退出程序" << endl;

    int op;

    cin >> op;

    switch (op) {

      case 1:

        stu.input();

        break;

      case 2:

        cout << "请选择查询方式:1. 姓名;2. 学号" << endl;

        int queryOp;

        cin >> queryOp;

        switch (queryOp) {

          case 1:

            string name;

            cout << "请输入要查询的学生姓名:" << endl;

            cin >> name;

            stu.queryName(name);

            break;

          case 2:

            int id;

            cout << "请输入要查询的学生学号:" << endl;

            cin >> id;

            stu.queryId(id);

            break;

        }

        break;

      case 3:

        flag = 0;

        break;

      default:

        cout << "选择错误,请重新选择" << endl;

        break;

    }

  }

  return 0;

}

以上代码中,我们使用了循环结构和switch语句,通过用户的选择执行相应的操作。

通过本题的学习,我们加深了对C++面向对象编程语言的理解,掌握了类的定义、成员变量和成员方法的实现以及运用多种流程控制语句的方法。这将为我们今后的程序设计和编写打下坚实的基础。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复