C++创建学生类练习
/*作业,定义一个学生类*/
/*数据成员:学号、姓名、数学、英语、计算机三科成绩
*成员函数:求总成绩、求三科平均成绩、输出学生信息
*新增一个生日类 2018.4.2
*/
#include <iostream>
#include <string>
using namespace std;
class Data
{
public:
Data();
Data(int ye, int mon, int da);
Data(Data &da);
void inf();
private:
int year;
int month;
int day;
};
class Student {//define a class called "Student"
public:
Student(int num, string na, int ma, int en, int cs, Data tp); //constructors
Student(Student &stu); //Copy constructors
~Student();
int sum();//the sum grade
int ave();//calculate the average grade
void show();//show the details of the student
private:
Data birthday;
int number;
string name;
int math;
int eng;
int com;
};
Data::Data()
{
year = 1998;
month = 8;
day = 3;
}
Data::Data(int ye = 0, int mon = 0, int da = 0)
{
year = ye;
month = mon;
day = da;
}
Data::Data(Data &da)
{
cout << endl << "Warnning:This Copy constructors.!!!" << endl;
year = da.year;
month = da.month;
day = da.day;
}
void Data::inf()
{
cout << "Birthday:" << year << "/" << month << "/" << day << endl;
}
//the realization of class
Student::Student(int num, string na, int ma, int en, int cs, Data tp) :birthday(tp) {
number = num;
name = na;
math = ma;
eng = en;
com = cs;
}
Student::~Student()
{
}
Student::Student(Student &stu) :birthday(stu.birthday) {
cout << endl << "Warnning:This Copy constructors.!!!" << endl;
number = stu.number;
name = stu.name;
math = stu.math;
eng = stu.eng;
com = stu.com;
}
int Student::sum() {
return math + eng + com;
}
int Student::ave() {
return (math + eng + com) / 3;
}
void Student::show() {
cout << "Number:" << number << endl;
cout << "Name:" << name << endl;
birthday.inf();
cout << "Math score:" << math << endl;
cout << "English score:" << eng << endl;
cout << "Computer score:" << com << endl;
cout << "Sum score:" << sum() << endl;
cout << "Average score:" << ave() << endl;
}
//the main
int main() {
Data tmp(2012, 12, 02);
Student noob(001, "!#%$#^$%^", 90, 89, 88, tmp);//Initialization
//output
noob.show();
Student newbie(noob); //Copy constructors
newbie.show();
return 0;
}
- 测试结果

C++创建学生类练习的更多相关文章
- 创建学生类 有姓名 学校 和年龄 覆盖toString() 1放到集合ArrayList 然后 2在第2个位置插入1个学生信息 3判断 刘德华这个学生是否存在 存在就打出来, 4输出全部学生信息 直接打印对象
学生类 package com.lanxi.demo1; public class Student { //创建属性 姓名,学校,年龄 private String name; private Str ...
- 1 实现添加功能 1.1 定义一个学员类(Student),在Student类中定义姓名、性别和年龄属性,定义有 参数的构造方法来初始化所以的成员属性 1.2 创建学员类对象来存放学员信息,并且为每一个学生对象添加的相应的编号。并将 学员类对象添加到Map<Integer,Student>集合中 1.3 添加完成后,显示所有已添加的学员姓名 1.4 限制年龄文本框只能输入正整数,否则的会采
学生类 package com.lanxi.demo1_3; public class Student { private String name; private String sex; priva ...
- 设计一个学生类&班级类
第一题 设计一个学生类 属性:姓名.学号.年龄.成绩 设计一个班级类要求:实现向班级中添加学生.删除学生.查看学生.按照指定条件排序 属性:班级代号,所有学生 需要使用 calss, __int__, ...
- Hibernate初探之单表映射——创建持久化类
编写第一个Hibernate例子 第二步:创建持久化类(持久化类的设计原则要遵循javabeans的设计原则) javabeans的设计原则: 1.公有的类2.提供公有的不带参数的默认的构造方法3.属 ...
- 网易云课堂_C++程序设计入门(下)_第10单元:月映千江未减明 – 模板_第10单元 - 单元作业:OJ编程 - 创建数组类模板
第10单元 - 单元作业:OJ编程 - 创建数组类模板 查看帮助 返回 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提 ...
- Java中基础类基础方法(学生类)(手机类)
学生类: //这是我的学生类class Student { //定义变量 //姓名 String name; //null //年龄 int age; //0 //地址 String address; ...
- File类的特点?如何创建File类对象?Java中如何操作文件内容,什么是Io流Io流如何读取和写入文件?字节缓冲流使用原则?
重难点提示 学习目标 1.能够了解File类的特点(存在的意义,构造方法,常见方法) 2.能够了解什么是IO流以及分类(IO流的概述以及分类) 3.能够掌握字节输出流的使用(继承体系结构介绍以及常见的 ...
- java创建自定义类的对象数组
1 public class Student{ 2 static int number = 0; // 静态变量的访问可以不用创建类的实例就可就可使用< 类名.属性 >的方法访问 3 ...
- vs里根据json快速创建对应类的方法
有时候,我们在调用别人接口的时候,服务端返回了一个json格式的字符串,我们要获取json里面的数据的话一般有两种方式: 1.通过正则 2.反序列化成一个对象 第一种方式这里不再多说,主要说一下第二种 ...
随机推荐
- 编程进阶:Java小白的序列化Serializable接口
在之前的学习过程中,我们知道了如何使用FileInputStream输入流和FileOutputStream输出流编写程序读写文件. 下面我们来学习一下如何使用序列化和反序列化读写文件. 一.序列化 ...
- gcc工作原理
gcc工作流程 1.预处理 --E 1.宏替换 2.头文件展开 3.注释去掉 4.xxx.c -> xxx.i 2.编译 --S 1.xxx.i -> xxx.s 2.汇编文件 3.汇编 ...
- linux 中环境变量配置文件说明
1. 修改/etc/profile文件 特点:所有用户的shell都有权使用你配置好的环境变量 说明:如果你的电脑仅用作开发,建议使用此配置,因为所有用户的shell都有权使用你配置好的环境变量,所以 ...
- python 函数,内置函数
1.函数 1.1 定义函数 ·函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (). ·任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数. ·函数的第一行语句可以选择性 ...
- Dynamics CRM RibbonWorkbench工具使用
这边用的是RibbonWorkbench2016的工具,导入RibbonWorkbench2016解决方案即可.导入成功后在解决方案下面会多出一个快捷键小图标. 一.基本介绍 二.列表页获取选中记录的 ...
- 对synchronized(this)的一些理解
一.当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行.另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块. ...
- oracle_set_autocommit
preface 1.centos operating system. 2.database is oracle 11g. 3.oracle account is scott. step 1.e ...
- C 中重载一词中的“重”字读ZHONG4还是CHONG2?
in my opinion: overload: 重zhong4载override overwrite:覆盖,改写,重写.//csdn上有人问过,没有overwrite这个词 http://bbs.c ...
- python 整形方法
1. int() a = ' print(type(a), a) b = int(a) print(type(b), b) # 输出 <class 'str'> 123 <class ...
- intellij 无法导入 SimpleTagSupport问题
主要原因还是导包问题: 需要导入2个包: 之前,我只导入 servlet-api.jar ,总是报错,最后导入jsp-api.jar后,才成功可以继承!