list.h
#ifndef _LIST_H_
#define _LIST_H_
class List{
protected:
//注意size是protected,这样子类就可以操作这个成员
int size;
public:
//请实现成员size的存取函数
void setSize(int v)
{
size=v;
}
int getSize()
{
return size;
}
};
#endif // _LIST_H_
ArrayList.h
#ifndef _ARRAYLIST_H_
#define _ARRAYLIST_H_
#include"List.h"
//请在下面定义ArrayList类
//ArrayList类公有继承List类,且额外拥有2个数据成员:data和capacity
class ArrayList:public List
{
public:
void setSize(int v)
{
size=v;
}
int getSize()
{
return size;
}
};
#endif // _ARRAYLIST_H_
linkedlist.h
#ifndef _LINKEDLIST_H_
#define _LINKEDLIST_H_
#include"List.h"
//请在下面定义LinkedList类
//LinkedList类公有继承List类,且拥有一个内部结构体Node,以及一个数据成员head
class LinkedList:public List
{
public:
void setSize(int v)
{
size=v;
}
int getSize()
{
return size;
}
};
#endif // _LINKEDLIST_H_
第2关:子类的对象可以作为父类类型使用
//请在该文件中完成f函数 #include"List.h" #include"ArrayList.h" #include"LinkedList.h" #includeusing namespace std; void f(const List&list) { cout< 第3关:利用父类的构造函数实现子类的构造函数 arrylist.cpp
#include"ArrayList.h" #include"List.h" ArrayList:: ArrayList()//初始化 { size=0; } ArrayList:: ArrayList(const ArrayList&rhs) { size=rhs.getSize(); } ArrayList::ArrayList(int const a[],int n) { size=n; } ArrayList::ArrayList(int n,int value) { size=n; } ArrayList::~ArrayList() { }linkedlist.cpp
#include"LinkedList.h" LinkedList::LinkedList() { size=0; } LinkedList::LinkedList(const LinkedList&rhs) { size=rhs.getSize(); } LinkedList::LinkedList(int const a[],int n) { size=n; } LinkedList::LinkedList(int n,int value) { size=n; } LinkedList::~LinkedList() { }



