首页 > 编程语言 >实践考核c++

实践考核c++

时间:2022-09-18 15:14:01浏览次数:83  
标签:string void 实践 c++ 考核 Student number1 input cout

/*
people是基类,student和graduate是子类,重载“==”运算符
输入2个学生的信息:姓名、编号、身份证号、班级、专业
输入1个研究生的信息:姓名、编号、身份证号、班级、专业、导师
重载“==”,当两个学生的编号相同时,调用重载运算符,输出错误信息。
*/

#include <iostream>
#include <string>
using namespace std;

class People //定义基类
{
public:
string name; //姓名
string number; //编号
string id_number; //身份证号

public:
People() {} //缺省的构造函数
People(string name1, string number1, string id_number1) //带参数的构造函数
{
name = name1;
number = number1;
id_number = id_number1;
}

void input(); //用于输入信息的
void output(); //用于输出信息的
};

//定义input()函数
void People::input()
{
cin >> name;
cin >> number;
cin >> id_number;
}

//定义output()函数
void People::output()
{
cout << "name:" << name<<endl;
cout << "number:" << number << endl;
cout << "id_number:" << id_number << endl;
}

//子类student
class Student :public People
{
public:
string Class;
string major;
public:
Student() {};
Student(string name1, string number1, string id_number1, string Class1, string major1
) :People(name1, number1, id_number1)
{
Class = Class1;
major = major1;
}

void input();
void output();
bool operator==(const Student&); //运算符“==”的重载函数
};

//定义子类Student中的成员函数
void Student::input()
{
People::input();
cin >> Class >> major;
}

void Student::output()
{
People::output();
cout << "Class:" << Class << endl;
cout << "major:" << major << endl;
}

//运算符重载“==”函数
bool Student::operator==(const Student& s)
{
if (number == s.number)
{
cout << "两个学生的编号相同,不合法!";
exit(1);
}
else
return 1;
}

//子类Graduate(研究生)
class Graduate :public Student
{
public:
string daoshi;
public:
Graduate() {};
Graduate(string name1, string number1, string id_number1, string Class1, string major1, string daoshi1
) :Student(name1, number1, id_number1, Class1, major1)
{
daoshi = daoshi1;
}

void input();
void output();
};

void Graduate::input()
{
Student::input();
cin >> daoshi;
}

void Graduate::output()
{
Student::output();
cout << "daoshi:" << daoshi << endl;
}

//主函数

int main()
{
Student s1, s2; //学生对象
Graduate g; //研究生对象
cout << "please input the first student infomation:" << endl;
s1.input();
cout << "please input the second student infomation:" << endl;
s2.input();

s1 == s2;

cout << "please input the graduate infomation:" << endl;
g.input();

cout << "please show the students info:" << endl;
s1.output(); s2.output();

cout << "please show the graduate info:" << endl;
g.output();

return 1;
}

 运行结果:

 

 

 

标签:string,void,实践,c++,考核,Student,number1,input,cout
From: https://www.cnblogs.com/duanqibo/p/16704811.html

相关文章

  • c++基础入门自学笔记总结2---C++入门(下)
    今天,我们就来进行指针的知识总结。说句题外话,这部分可以说是c和c++重要基础,在初次接触时也感觉有点难度,即使在学后几天了对指针的运用还不是很熟练,但也不必太着急,毕竟学东......
  • 实验2 Open vSwitch虚拟交换机实践
    OpenvSwitch虚拟交换机实践实验目的能够对OpenvSwitch进行基本操作能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表能够通过Mininet的Python代码运行......
  • Kakfa系列丛书推荐之《深入理解Kafka:核心设计与实践原理》
    编者推荐本书从Kafka的基本概念入手,主要从生产端、消费端、服务端等3个方面进行全面的陈述,主要内容包括Kafka的基本使用方式、生产者客户端的使用、消费者客户端的使用......
  • 轻量级C++编程环境|快速搭建|Linux篇
    环境组成成分VisualStudioCode(编辑器)g++gdb(编译器与调试器)CMake(项目管理编译工具)安装VSCode拓展c++/c++extensioncmaketool以上请认准微软官方出品创建工程目......
  • 配置绿色免安装版的C/C++、java、python环境,重装系统可以继续使用
    windows系统用一段时间就会变得臃肿,我平均每年都会重装一下系统,因此需要配置免安装的环境,重装系统可以继续使用。 1、C/C++环境安装配置主流都是用minGwin的gcc/g++,最......
  • C++学习笔记-day16
    1、模板......
  • 实践中负责任漏洞披露的观察
    实践中负责任漏洞披露的观察ThefacadeoftheFinnishparliamentreflectedonthewindowoftheFinnishParliamentAnnex.Image©LariHuttunen.○在过去的几......
  • 用C++ 编写QML 扩展
    用C++编写QML扩展Qt,QML,QtQuick这是关于用C++来扩展QML的教程。源文:WritingQMLExtensionswithC++QtQML模块提供了一系列API以实现通过C++来扩展QML。可以编写扩......
  • C++面经
    C++基础1.C/C++内存有哪几种类型?C中,内存分为5个区:堆(malloc)、栈(如局部变量、函数参数)、程序代码区(存放二进制代码)、全局/静态存储区(全局变量、static变量)和常量存储......
  • c++基础通讯录管理
    #include"stdio.h"#include<string>#include<iostream>usingnamespacestd;structContacts{ stringsName; intiTelephone; stringsArea; //定义基本结构......