从项目2和项目3中选1题作为实验、剩下2题写成作业。

【项目1 - 龙三】

请在以下程序的横线处填上适当内容,以使程序完整,并使程序的输出为:

Name: 龙三

Grade: 19

#include <iostream>
#include <string>
using namespace std;
class Person{
public:
Person(string s){
name=s;
}
void display( ){
cout<<"Name: "<<name<<endl;
}
private:
string name;
};
class Student: ___________//(1)
{
public:
Student(string s, int g):__________ // (2)參考教材P169加底纹部分
{grade=g;}
void display1( ) {
_________; // (3)
cout<<"Grade: "<<grade<<endl;
}
private:
int grade;
};
int main( )
{
Student s("龙三",19);
___________; // (4)
return 0;
}

【项目2 - 学生类】

class Stu   //声明基类
{
public:
Stu(int n, string nam ); //基类构造函数
void display( ); //成员函数。输出基类数据成员
protected: //(*)訪问权限为保护型的数据成员
int num; //学生学号
string name; //学生姓名
};
class StuDetail: public Stu //声明派生类StuDetail
{
public:
//学生nam,学号n,a岁。家住ad,他的班长是nam1,学号n1
StuDetail(int n, string nam,int a, string ad,int n1, string nam1); //派生类构造函数
void show( ); //成员函数。输出学生的信息
void show_monitor( ); //成员函数,输出班长信息
private:
Stu monitor; //学生所在班的班长,班长是学生,是Stu类的成员
int age; //学生年龄
string addr; //学生的住址
};
int main( )
{
//学生张三,10010号,19岁,家住江西南昌。他的班长是李四。学号10001
    StuDetail s(10010,"张三",19,"江西南昌",10001,"李四");
s.show( ); //输出学生信息
s.show_monitor(); //输出班长信息
return 0;
}

上面是声明好的类及測试函数,请完毕类中成员函数的定义。使执行结果如图所看到的。



【项目3 - 职员薪水】

   定义一个名为CPerson的类,有下面私有成员:姓名、身份证号、性别和年龄,成员函数:构造函数、输出信息的函数。

并在此基础上派生出CEmployee类。派生类CEmployee添加了两个新的数据成员,分别用于表示部门和薪水。

要求派生类CEmployee的构造函数显示调用基类CPerson的构造函数。并为派生类CEmployee定义输出信息的函数。

class CPerson
{
protected:
string m_szName;
string m_szId;
int m_nSex;//0:女,1:男
int m_nAge;
public:
CPerson(string name,string id,int sex,int age);
void Show1();
}; class CEmployee:public CPerson
{
private:
string m_szDepartment;
double m_Salary;
public:
CEmployee(string name,string id,int sex,int age,string department,double salary);
void Show2();
}; int main()
{
string name,id,department;
int sex,age;
double salary;
cout<<"请输入雇员的姓名,ID,性别(0:女,1:男),年龄,部门,薪水:\n";
cin>>name>>id>>sex>>age>>department>>salary;
CEmployee employee1(name,id,sex,age,department,salary);
employee1.Show2();
return 0;
}

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

C++第4次实验(提高班)—继承和派生1的更多相关文章

  1. 今天,Java编程周末提高班(第一期)正式结束

    Java编程周末提高班(第一期),走过了近两个月历程,一共同拥有68人次学生周末到老师家进行Java学习与交流.近距离的和一群年轻的学习接触,收获非常多,特别是对以后教学的改进.在学习的闲暇.大家自己 ...

  2. 夏令营提高班上午上机测试 Day 2 解题报告

    那一天,日照一中夏令营数据结构提高班的同学们终于想起了,被Day2上午的三道题支配的恐惧……   是的..这一天的题有点难想.. 本来打算前天写这篇随笔,然而前天在机房和同学打luogu月赛…… 昨天 ...

  3. 【C++ 实验六 继承与派生】

    实验内容 1. 某计算机硬件系统,为了实现特定的功能,在某个子模块设计了 ABC 三款芯片用于 数字计算.各个芯片的计算功能如下: A 芯片:计算两位整数的加法(m+n).计算两位整数的减法(m-n) ...

  4. 老段带你学鸟哥Linux视频教程 包含基础班+提高班

    老段带你学鸟哥Linux视频教程 包含基础班+提高班,附带pdf文档. 目录结构如下: 目录:/-老段带你学鸟哥Linux视频教程 [.9G] ┣━━老段带你学鸟哥-服务器篇 [1009.4M] ┃ ...

  5. c++学习--继承与派生

    继承和派生 1 含有对象成员(子对象)的派生类的构造函数,定义派生类对象成员时,构造函数的执行顺序如下: 1 调用基类的构造函数,对基类数据成员初始化: 2 调用对象成员的构造函数,对对象成员的数据成 ...

  6. C++ 继承与派生

    继承的意义? 使程序的设计更符合发展规律,即事物的发展是一个从低级到高级的发展过程,类的继承也是反映由原始的简单代码到丰富的高级代码的过程.它能帮助我们描述事物的层次关系,有效而精确的理解事物,理解事 ...

  7. C++学习笔记44:继承与派生

    类的组合,类的继承 类的组合(汽车类,轮子类,此时可以把轮子类组合到汽车类:) 类的继承(交通工具类,汽车类,此时汽车类可以派生自交通工具类:) 组合:常用描述has a.. 继承:常用描述is a ...

  8. C++复习:继承与派生

    1继承概念 面向对象程序设计有4个主要特点:抽象.封装.继承和多态性.说了类和对象,了解了面向对象程序设计的两个重要特征一数据抽象与封装,已经能够设计出基于对象的程序,这是面向对象程序设计的基础. 要 ...

  9. [C++]变量存储类别,指针和引用,类与对象,继承与派生的一些摘要

    C++中共有四种存储类别标识符:auto/static/register/extern 1.auto 函数或分程序内定义的变量(包括形参)可以定义为auto(自动变量).如果不指定存储类别,则隐式定义 ...

  10. 类属性与对象实现,init方法的作用,绑定方法,绑定方法与普通函数的区别,继承,抽象与继承,派生与覆盖

    今日内容: 1.类属性与对象属性 2.init方法的作用 3.绑定方法 4.绑定方法与普通函数的区别(非绑定方法) 5.继承 6.抽象与继承 7.派生与覆盖 1.类属性与对象属性 类中应该进存储所有对 ...

随机推荐

  1. 一个request,但是controller被执行了多次的问题

    原文发布时间为:2011-09-25 -- 来源于本人的百度文章 [由搬家工具导入] 这两天竟然被一个bug整疯了,因为项目调试的时候,通过 sql profiler 查看,竟然执行了多次的相同 查询 ...

  2. EnableViewState 属性

    原文发布时间为:2009-10-25 -- 来源于本人的百度文章 [由搬家工具导入] 指示是否在页请求之间保持视图状态。如果要保持视图状态,则为 true;否则为 false。默认值为 true。 自 ...

  3. python3字符串操作总结

    字符串截取  >>>s = 'hello' >>>s[0:3] 'he' >>>s[:] #截取全部字符 'hello' 消除空格及特殊符号 s. ...

  4. Codeforces Round #343 (Div. 2) A. Far Relative’s Birthday Cake【暴力/组合数】

    A. Far Relative’s Birthday Cake time limit per test 1 second memory limit per test 256 megabytes inp ...

  5. cogs——1008. 贪婪大陆(清华巨佬代码)——树状数组

    1008. 贪婪大陆 ★★   输入文件:greedisland.in   输出文件:greedisland.out   简单对比时间限制:1 s   内存限制:128 MB 试题四:贪婪大陆  [题 ...

  6. luogu P2434 [SDOI2005]区间

    题目描述 现给定n个闭区间[ai, bi],1<=i<=n.这些区间的并可以表示为一些不相交的闭区间的并.你的任务就是在这些表示方式中找出包含最少区间的方案.你的输出应该按照区间的升序排列 ...

  7. 某考试 T1 str

    一开始死磕sam,发现根本没法做...... 后来想了想,反正匹配子串的大部分不是sam就是 二分+hash啊,,,于是就想了想二分+hash,发现好像可以做啊! 就是假设我们要让 s1[1] 映射到 ...

  8. Linux命令大总结

    from http://elain.blog.51cto.com/3339379/623310 Linux命令大总结------------------------------------------ ...

  9. Linux下报错:Segmentation fault.

    遇到的问题:程序在读文件之后,准备执行fclose(fp);时,出现了如下错误: Program received signal SIGSEGV, Segmentation fault. 解决方法:倒 ...

  10. H5 性能调优 工具

    1.阿里测:http://www.alibench.com 2.奇云测:http://ce.cloud.360.cn 3.百度应用性能检测中心:http://apm.baidu.com 推荐理由:这3 ...