24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 489  |  回复: 8
当前主题已经存档。

烂熊邓

金虫 (小有名气)

自然自由者

[交流] 【讨论】”用面向对象的方法实现一个异质链表“的一实验题

我顺便就把我们的一次实验题给你看看:
        "用面向对象的方法实现一个异质链表。以大学环境为例,包括学生、职员、教授,希望对这些人的信息进行管理。
        学生:姓名、年龄、身份证、年级、平均成绩
        职员:姓名、年龄、身份证、小时工资
        教授:姓名、年龄、身份证、年工资
        要求实现3个操作:
        插入、删除、打印"
你们试试看>>>>>>
把你们写好的代码就直接发在我们的交流交流........
回复此楼

» 猜你喜欢

我还年轻,我渴望一直在路上
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woshilsh

荣誉版主 (职业作家)

优秀版主


小木虫(金币+0.5):给个红包,谢谢回帖交流
本版有C++答疑顾问,转帖,解决不了可以去那里求助滴
[center][url=http://www.91cool.net/][img]http://id.91cool.net/sign/?name=小木虫印&say=各位版主辛苦了![/img][/url][/center]
2楼2009-06-05 21:47:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hxz

木虫 (正式写手)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
sunxiao(金币+3,VIP+0):谢谢参与 6-11 23:15
建个基类 然后学生教授那些继承过去
链表就算了 stl有现成的list
3楼2009-06-09 17:06:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木叶清风

木虫 (正式写手)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
sunxiao(金币+3,VIP+0):谢谢参与 6-11 23:15
你这只是想要代码,方法我在答疑帖里面都说过了
www.cvdelver.com
4楼2009-06-09 18:25:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

烂熊邓

金虫 (小有名气)

自然自由者

我的代码:异质链表

★ ★ ★ ★
sunxiao(金币+4,VIP+0):谢谢分享,欢迎大家讨论 6-11 23:16
///这个是有两个文件组成:

#include"异质链表.h"
int main()
{people *head=0,*end,*p;
        people *p1=0;
        people *q=0;

      int i,j;
          while(true)
          {cout<<"请选择:1:添加,2:显示,3:删除,4:退出"<              cin>>i;

                switch(i)
                        {case 1:
                  cout<<"请选择:1:学生,2:教授,3:职工"<                           cin>>j;
                          switch(j)
                                {case 1:
                                  p=new student ;break;
                                case 2:
                                       p=new professor ;break;
                                case 3:
                                                 p=new worker ;break;
                                                 
                                }
                               

                          if(head==0)
                          {head=p;
                            end=p;}


                          else  
                          {end->next=p;
                            end=p;}
                          
               end->set();
                          end->next=0;
                          
                                        break;


               
                        case 2:

                                for(p=head;p;p=p->next)
                                        p->show();
                                break;

                case 3:    int m;
                                        cout<<"请输入要删除的元素的身份证号:";
                                        cin>>m;
                               
                                        if(head->id==m)
                                        {q=head;
                                        head=head->next;
                                        }

                                 else
                                        for(p1=head;p1->next;p=p->next)
                                         {if(p->id==m)
                                                q=p;
                                        p1=p1->next;
                                        break;
                                          }

                                         if(q)
                                   delete(q);
                                        break;

                        case 4:   break;
                                }


                if(i==4)
                break;          
          
                }       

        return 0;
}



///第二个文件:

#include
#include
using namespace std;

class people
{protected:
        string name;
        string sex;
        int id;
public:
        people *next;

        void virtual set()=0;
        void virtual show()=0;
};



       
class student:public people
{
   string grade;
  string average;

public:
       
        void set()
        {cout<<"姓名:";
        cin>>name;
        cout<<"性别:";
        cin>>sex;
        cout<<"身份证:";
        cin>>id;
        cout<<"年级:";
        cin>>grade;
        cout<<"平均分:";
        cin>>average;
        cout<         }

        void  show()
        {cout<<"姓名:"<
};

class professor:public people
{
  float salary;
public:
       
        void set()
        {cout<<"姓名:";
        cin>>name;
        cout<         cout<<"性别:";
        cin>>sex;
        cout<         cout<<"身份证:";
        cin>>id;
        cout<<"工资:";
        cin>>salary;
        }

        void  show()
        {cout<<" 姓名:"< };


class worker:public people
{
   float hour;

public:
       
        void set()
        {cout<<"姓名:";
        cin>>name;
        cout<<"性别:";
        cin>>sex;
        cout<         cout<<"身份证:";
        cin>>id;
        cout<<"工作时间:";
        cin>>hour;
        cout<         }

        void  show()
        {cout<<"姓名:"< };


你可以运行来看看;有什么好想法交流交流
我还年轻,我渴望一直在路上
5楼2009-06-11 13:01:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ms98

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
wangen994(金币+2,VIP+0):谢谢交流,O(∩_∩)O哈哈~ 6-19 16:39
可以修改一下。
class people
{protected:              //这里做成protected有什么深意吗?从含义来看,private好些
        string name;
        string sex;
        int id;
...

class professor:public people
{
  float salary;            //很老的写法,一般建议不省略private
public:      
   void set()...          //我们不是BS,一般还是按照公有函数放前面,私有成员放后面的格式写好
6楼2009-06-19 14:43:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

烂熊邓

金虫 (小有名气)

自然自由者

回复ms98

★ ★
wangen994(金币+2,VIP+0):感谢你的参与讨论 6-27 22:28
你说的
一个)那里写成保护型的是因为里边有个 指针所有就要做成保护型的或者是公有的型的;
第二:
关于float salary的写法问题。我想学了c++的就都知道不明写的就是代表私有型的;
第三:
我们的学习的就是把数据称员放在前面的,函数就放在后面的

你就可以把这个代码拿到c++的去运行一下看看结果;
我还年轻,我渴望一直在路上
7楼2009-06-27 22:24:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shipsw

木虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
其实就是让你写一个类而已。
内部写一些插入,删除等操作的成员函数。
复杂点的写个基类 人
然后继承出 类 学生,教授 等等。。。
选择了这条路也就放弃了其他的路了。
8楼2009-08-07 10:14:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ms98

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
wangen994(金币+1,VIP+0):感谢参与讨论 8-7 16:34
引用回帖:
Originally posted by 烂熊邓 at 2009-6-27 22:24:
你说的
一个)那里写成保护型的是因为里边有个 指针所有就要做成保护型的或者是公有的型的;
第二:
关于float salary的写法问题。我想学了c++的就都知道不明写的就是代表私有型的;
第三:
我们的学习的就是 ...

翻了翻老帖子才发现还有专门回给我的:
1、不知道你在说什么,如果有个指针就要保护的话,那protect就不会是最有争议的类型了。
2、我想稍微有点常识的都知道不允许省略类型。
3、你们学的有问题...

有机会做点实践,看看设计模式方面的书,写代码和写好代码是两回事。
9楼2009-08-07 14:54:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 烂熊邓 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 招收生物学/细胞生物学调剂 +4 IceGuo 2026-03-26 5/250 2026-03-29 01:25 by griffith2014
[考研] 一志愿211 初试270分 求调剂 +8 谷雨上岸 2026-03-23 9/450 2026-03-29 01:00 by 我是小康
[考研] 356求调剂 +3 gysy?s?a 2026-03-28 3/150 2026-03-29 00:33 by 544594351
[考研] 22408 359分调剂 +4 Qshers 2026-03-27 5/250 2026-03-28 21:26 by zhq0425
[考研] 食品工程专硕一志愿中海洋309求调剂 +4 小张zxy张 2026-03-26 8/400 2026-03-28 19:25 by lbsjt
[考研] 085602 化工专硕 338分 求调剂 +12 路痴小琪 2026-03-27 12/600 2026-03-28 15:41 by L135790
[考研] 材料与化工272求调剂 +9 阿斯蒂芬2004 2026-03-28 9/450 2026-03-28 15:21 by 1018329917
[考研] 304求调剂 +6 曼殊2266 2026-03-27 6/300 2026-03-28 14:10 by 唐沐儿
[考研] 0703化学求调剂 +9 奶油草莓. 2026-03-22 10/500 2026-03-28 13:30 by 唐沐儿
[考研] 材料277求调剂 +7 min3 2026-03-24 7/350 2026-03-28 11:39 by xuxiang
[考研] 340求调剂 +5 jhx777 2026-03-27 5/250 2026-03-28 04:18 by fmesaito
[考研] 一志愿211,335分,0856,求调剂院校和导师 +4 倾____萧 2026-03-27 5/250 2026-03-27 11:52 by zhshch
[考研] 考研调剂 +9 小蜡新笔 2026-03-26 9/450 2026-03-27 11:10 by 不吃魚的貓
[考研] 材料学硕,求调剂 6+5 糖葫芦888ll 2026-03-22 10/500 2026-03-27 08:18 by hypershenger
[考研] 材料考研求调剂 +3 Dendel 2026-03-23 6/300 2026-03-26 17:51 by fmesaito
[考研] 085601求调剂总分293英一数二 +4 钢铁大炮 2026-03-24 4/200 2026-03-26 16:28 by dick_runner
[考研] 0854电子信息求调剂 324 +4 Promise-jyl 2026-03-23 4/200 2026-03-25 11:36 by Sugarlight
[考研] 080500求调剂 +3 zzzzfan 2026-03-24 3/150 2026-03-24 16:38 by barlinike
[考研] 277分求调剂,跨调材料 +3 考研调剂lxh 2026-03-24 3/150 2026-03-24 13:52 by JourneyLucky
[考研] 一志愿山东大学药学学硕求调剂 +3 开开心心没烦恼 2026-03-23 4/200 2026-03-24 00:06 by 开开心心没烦恼
信息提示
请填处理意见