24小时热门版块排行榜    

Znn3bq.jpeg
查看: 507  |  回复: 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的回帖
相关版块跳转 我要订阅楼主 烂熊邓 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 今年审到国自然15份,谈谈感受 +17 国自然国社科中 2026-05-17 18/900 2026-05-20 00:03 by kksky
[基金申请] 评审有感 +11 popular289 2026-05-18 19/950 2026-05-19 23:09 by popular289
[文学芳草园] 献血感触 +6 呀呀好傻 2026-05-19 11/550 2026-05-19 22:26 by 而立得乐
[有机交流] 如何实现卤原子转化 +3 BT20230424 2026-05-15 7/350 2026-05-19 19:23 by bencaidai
[基金申请] 2026山东省优青 +3 luckinging 2026-05-14 4/200 2026-05-19 16:15 by 52wls
[有机交流] 反应很差,大量原料没有反应 5+3 Mr.Zot 2026-05-19 3/150 2026-05-19 13:56 by xtlilibin
[论文投稿] Sci. Bull. 悲剧经验 +4 jyang1999 2026-05-16 4/200 2026-05-19 10:56 by maolC
[考博] 找博士生导师 +6 小代想上岸 2026-05-15 7/350 2026-05-19 10:22 by free_fisher
[基金申请] 同样的基金本子,换个专家直接从C变A! +3 国自然国社科中 2026-05-19 3/150 2026-05-19 08:50 by Equinoxhua
[考博] 2026博士还有哪些学校有名额 +7 小王求读研 2026-05-15 8/400 2026-05-19 08:27 by zhyzzh
[基金申请] 面上本子正文33页,违规吗?会被低分嘛? +8 1234567wang 2026-05-17 10/500 2026-05-18 18:52 by zzahkj
[基金申请] 国自然上会要求 +5 无名者登山 2026-05-18 9/450 2026-05-18 17:50 by BlakeReary
[基金申请] 青C资助名额大幅增加! +12 西葫芦炒鸡蛋 2026-05-13 16/800 2026-05-18 10:02 by Equinoxhua
[基金申请] 重磅!青年科学基金项目(C类)资助增幅预计超过50% +7 水和泥不是水泥 2026-05-13 10/500 2026-05-18 07:50 by 水和泥不是水泥
[硕博家园] 我在等一个没有答案的答案 +3 Love_MH 2026-05-17 3/150 2026-05-18 02:22 by 竹林孤影
[文学芳草园] 半夜喝咖啡 +3 myrtle 2026-05-15 5/250 2026-05-18 01:03 by 小沈2018
[有机交流] 求助2,4-二氯-5-嘧啶甲醛的合成方法 20+3 光吃不拉 2026-05-14 6/300 2026-05-16 19:46 by Equinoxhua
[有机交流] 求有机合成大神指点三硫酸乙烯酯(CAS:2793408-99-6)的合成路线 30+3 Leekmid 2026-05-13 10/500 2026-05-16 16:37 by czyzsu
[考博] 26应届毕业生考博求助 +3 wo一定上岸 2026-05-13 3/150 2026-05-14 21:47 by 明海天涯
[考博] 材料类只有一篇综述能申博么 +4 乐逍遥谷 2026-05-13 4/200 2026-05-14 12:05 by zhyzzh
信息提示
请填处理意见