| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 574 人关注过本帖
标题:[讨论]这个object实在是难啊
只看楼主 加入收藏
gaolu
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-12-7
收藏
 问题点数:0 回复次数:2 
[讨论]这个object实在是难啊

使用C++的继承方式实现一个通用的GList列表类。
要求:
A、 能够对任意类型对象进行管理,包括内建数据类型及自定义类类型的对象(所有类型需要继承自同一个基类);
B、 列表的大小随添加对象的增加而自动增长;
C、 可以在链表的首部,尾部插入数据或指定对象的后面插入;
D、 能够比较列表中对象的大小,可以查找指定对象;
E、 可以删除指定对象;
F、 能够根据对象的比较结果对对象进行排序并打印结果;
这个题出的很好,大家都来看看,是我们要做的项目,但是我太差了,做不出来了,打算选一个简单点的来做,把题拿出来大家讨论哈,要是有会的,请给我讲讲,我会很感激的。
#include <iostream>
using namespace std;
class CObject
{
public:
virtual int CompareTo(CObject& object)=0;
bool operator>(CObject& object);

};
bool CObject::operator >(CObject& object)
{
return CompareTo(object)>0;
}

class CNode
{
friend class LinkedList;
private:
CNode * m_prev;
CNode * m_next;
CObject * m_object;
char Name[10];
char No[10];
public:
CNode(CObject * object=NULL)
{
m_object = object;
m_prev = NULL;
m_next = NULL;
}
};

CInt int_ : public CObject
{
public:

virtual CompareTo( COject &object )
{
Cint *pInt = (Cint*)&object ;
if( m_iData > object->m_iData )
return = 1;

}
private:
int m_iData ;

}
class LinkedList
{
private:
CNode * m_head;
CNode * m_rear;
int m_size;
public:
LinkedList()
{
m_size = 0;
m_head = new CNode();
m_rear = new CNode();
m_head->m_prev = NULL;
m_head->m_next = m_rear;
m_rear->m_prev = m_head;
m_rear->m_next = NULL;
}
下面好像都有错,但是我实在不知道该怎么改了。
void Add_head(char name[],char no[])
{
CNode(name,no);
m_head->next=&node;
m_head=node;
size++;
}
void Add_rear(char name[],char no[])
{
CNode(name,no);
rear->next=&node;
rear=node;
size++;
}
void delete_head()
{
if(size==0)
{ cout<<"链表空"<<endl;
exit(1);
}
head=head->next;
size--;
}
void find(int index)
{ CNode *m_head;
if((index<0)||(index>size))
{ cout<<"结果不存在!"<<endl;
exit(1);
}
for(int i=1;i<index-1;i++)
m_head=m_head->next;
cout<<"你要查找的姓名是:"<<m_head->Name<<endl<<"学号是:"<<m_head->No<<endl;
}
void bublle(int a[],int n) //冒泡排序
{ int i,j,t,temp;
for(i=1;i<=n-1;i++)
{ t=n-1;
for(j=0;j<t-1;j++)
{ if (a[j]>a[j+1])
{ temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}

};


void main()
{}

搜索更多相关主题的帖子: object 
2006-12-20 17:25
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
CNode(name,no);
UFO

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-12-21 16:40
gaolu
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-12-7
收藏
得分:0 

不能用模板啊……


冬天的梦想是我在春天的愿望^^
2006-12-23 20:19
快速回复:[讨论]这个object实在是难啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031275 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved