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.反序列化成一个对象 第一种方式这里不再多说,主要说一下第二种 ...
随机推荐
- 服务器word权限添加
我们的程序部署到IIS上会出现上图所示的错误. 这个是由于IIS没有权限访问word所致. 解决的方法: 在运行对话框中输入: mmc -32 出来如下图的界面: 然后点击"文件&q ...
- csharp:汉字转带拼音声调
{ ...
- jQuery Ajax(异步改同步)
在实际使用中,我们经常会用的Ajax(异步加载,在不刷新整个网页的前提下对网页部分内容进行更新) 使用时,偶尔会遇上需要从一个接口中得到一个数组和数据对应的id,在另一个接口上再得到数据,最初写法如下 ...
- iframe中插入代码并执行
最近有需求通过iframe插入代码.有蛮多方法,如下: 1 var iframe = document.getElementById('previewUrl'); 2 iframe.src = 'ab ...
- js简单实现表格排序
昨天看到一篇关于表格排序的随笔,鉴于本人还只会简单的js,不会使用封装,所以自己也试了一下写这个效果.可能不太优化,原理思路是:获取行对象tr,排序tr中要比较的对象td,排序后添加回tbody.如下 ...
- HBase伪分布式安装(HDFS)+ZooKeeper安装+HBase数据操作+HBase架构体系
HBase1.2.2伪分布式安装(HDFS)+ZooKeeper-3.4.8安装配置+HBase表和数据操作+HBase的架构体系+单例安装,记录了在Ubuntu下对HBase1.2.2的实践操作,H ...
- matlab练习程序(演化策略ES)
还是这本书上的内容,不过我看演化计算这一章是倒着看的,这里练习的算法正好和书中介绍的顺序是相反的. 演化策略是最古老的的演化算法之一,和上一篇DE算法类似,都是基于种群的随机演化产生最优解的算法. 算 ...
- 导致SharePoint发生Timeout的几处门槛设置
IIS connection time-out setting =========================== 如何修改? Click Start, point to All Programs ...
- solidity语言14
库(Libraries) 库类似合约,实现仅在专门地址部署一次,使用EVM的DELEGATECALL的功能重复使用的目的.意思是当库函数被调用后,代码执行在被调用的合约的环境.例如,使用this调用合 ...
- 再学UML-Bug管理系统UML2.0建模实例(三)
3.系统设计 在对系统进行全面分析后,我们开始使用UML对系统进行设计,构造BMS系统的设计模型,包括类图.包图.顺序图(实现模型).组件图和部署图等的绘制,回答了“怎么做”的问题.具体设计工作如下: ...