(补)第十二周实验报告(2)

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
* 文件名称:                              
* 作    者:     王      琦                                
* 完成日期:   2012      年   5    月    7    日
* 版 本 号:          
 
* 对任务及求解方法的描述部分 : 
* 输入描述:
 
* 问题描述:(教材P394习题9)分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。要求: 
(1)在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。 
(2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),在Teacher_Cadre类中还包含数据成员wages(工资)。 
(3)对两个基类中的姓名、年龄、性别、地址、电话等数据成员用相同的名字,在引用这些数据成员时,指定作用域。 
(4)在类体中声明成员函数,在类外定义成员函数。 
(5)在派生类Teacher_Cadre的成员函数show中调用Teacher类中的display函数,输出姓名、年龄、性别、职称、地址、电话,然后再用cout语句输出职务与工资。。
* 程序输出: 
* 程序头部的注释结束

程序代码:

#include <iostream>   
#include <string>   
using namespace std;  
class Teacher  
{  
public:  
    Teacher(string nam,int ag,char s,string add,string t,string tit);  
    void display();  
protected:  
    string name;  
    int age;  
    char sex;  
    string addr;  
    string tel;  
    string title;  
};  
  
Teacher::Teacher(string nam,int ag,char s,string add,string t,string tit):name(nam),age(ag),sex(s),addr(add),tel(t),title(tit){}  
  
void Teacher::display()  
{  
    cout<<"name:"<<name<<endl;  
    cout<<"age:"<<age<<endl;  
    cout<<"sex:"<<sex<<endl;  
    cout<<"addr:"<<addr<<endl;  
    cout<<"tel:"<<tel<<endl;  
    cout<<"title:"<<title<<endl;  
}  
class Cadre  
{  
public :  
    Cadre(string nam,int ag,char s,string add,string t,string p);  
    void display();  
protected:  
    string name;  
    int age;  
    char sex;  
    string addr;  
    string tel;  
    string post;  
};  
Cadre::Cadre(string nam,int ag,char s,string add,string t,string p):name(nam),age(ag),sex(s),addr(add),tel(t),post(p){}  
  
void Cadre::display()  
{  
    cout<<"name:"<<name<<endl;  
    cout<<"age:"<<age<<endl;  
    cout<<"sex:"<<sex<<endl;  
    cout<<"addr:"<<addr<<endl;  
    cout<<"tel:"<<tel<<endl;  
    cout<<"post:"<<post<<endl;  
}  
class Person:public Teacher,public Cadre  
{  
public:  
    Person(string nam,int ag,char s,string add,string t,string tit,string p,float w);  
    void show();  
private:  
    float wage;  
};  
Person::Person(string nam,int ag,char s,string add,string t,string tit,string p,float w):Teacher(nam,ag,s,add,t,tit),Cadre(nam,ag,s,add,t,p),wage(w){}  
void Person::show()  
{  
    Teacher::display();  
    cout<<"post:"<<Cadre::post<<endl;  
    cout<<"wage:"<<wage<<endl;  
}  
void main()  
{  
    Person p1("wang-li",23,'m',"Beijing","123456","","teacher",2500);  
    p1.show();  
    system("pause"); 
} 


运行结果:

name:wang-li
age:23
sex:m
addr:Beijing
tel:123456
title:
post:teacher
wage:2500
请按任意键继续. . .

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验三:Linux文件系统管理 实验目的: 1.了解Linux文件系统的基本概念和组成结构; 2.掌握Linux文件系统的管理方法,包括文件和目录的创建、删除、复制、移动、重命名等操作; 3.学习Linux文件权限的设置和管理。 实验环境: Ubuntu 18.04 LTS 实验内容: 1.文件系统的基本概念和组成结构 文件系统是操作系统用来管理和组织文件的一种机制,它是由文件、目录和文件系统元数据等组成的。文件系统的主要功能是提供文件的存储、访问和管理。 Linux文件系统的组成结构如下: (1)根目录(/):Linux文件系统的根目录,所有的文件和目录都是从根目录开始的。 (2)bin目录:存放系统命令和二进制文件。 (3)boot目录:存放Linux内核和启动文件。 (4)dev目录:存放设备文件。 (5)etc目录:存放系统配置文件。 (6)home目录:存放用户的主目录。 (7)lib目录:存放共享库文件。 (8)media目录:存放可移动设备的挂载点。 (9)mnt目录:存放临时挂载的文件系统。 (10)opt目录:存放第三方软件的安装目录。 (11)proc目录:存放进程信息和系统状态信息。 (12)root目录:超级用户的主目录。 (13)sbin目录:存放系统管理员使用的命令。 (14)tmp目录:存放临时文件。 (15)usr目录:存放用户程序和文件。 (16)var目录:存放系统日志和缓存文件。 2.文件和目录的创建、删除、复制、移动、重命名等操作 (1)创建文件:使用touch命令创建文件,例如: $ touch test.txt (2)创建目录:使用mkdir命令创建目录,例如: $ mkdir testdir (3)删除文件:使用rm命令删除文件,例如: $ rm test.txt (4)删除目录:使用rmdir命令删除空目录,例如: $ rmdir testdir 如果要删除非空目录,可以使用rm命令加上-r选项,例如: $ rm -r testdir (5)复制文件:使用cp命令复制文件,例如: $ cp test.txt test2.txt (6)复制目录:使用cp命令加上-r选项复制目录,例如: $ cp -r testdir testdir2 (7)移动文件或目录:使用mv命令移动文件或目录,例如: $ mv test.txt testdir/ $ mv testdir testdir2/ (8)重命名文件或目录:使用mv命令重命名文件或目录,例如: $ mv test.txt test2.txt $ mv testdir testdir2 3.Linux文件权限的设置和管理 Linux文件系统中,每个文件和目录都有一组权限,用于控制用户对文件和目录的访问。权限分为三类:读、写、执行。每个文件和目录都有三个权限位,分别对应于三种用户:文件所有者、文件所属组、其他用户。 (1)查看文件或目录的权限:使用ls命令加上-l选项,例如: $ ls -l test.txt -rw-r--r-- 1 user user 0 5月 8 15:27 test.txt 其中,第一列表示文件类型和权限,第二列表示硬链接数,第三列表示文件所有者,第四列表示文件所属组,第五列表示文件大小,第六列表示文件的修改时间,最后一列表示文件名。 (2)修改文件或目录的权限:使用chmod命令修改文件或目录的权限,例如: $ chmod 777 test.txt 其中,数字7表示读、写、执行权限,数字6表示读、写权限,数字5表示读、执行权限,数字4表示只读权限,数字3表示读、执行权限,数字2表示写、执行权限,数字1表示执行权限,数字0表示无权限。 (3)修改文件或目录的所有者和所属组:使用chown和chgrp命令修改文件或目录的所有者和所属组,例如: $ chown user test.txt $ chgrp group test.txt 其中,user表示新的所有者,group表示新的所属组。 实验总结: 通过本次实验,我了解了Linux文件系统的基本概念和组成结构,掌握了Linux文件系统的管理方法,包括文件和目录的创建、删除、复制、移动、重命名等操作,学习了Linux文件权限的设置和管理。这些知识对于Linux系统的使用和管理都非常重要,我会在以后的学习和工作中继续深入学习和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值