
List a = new ArrayList()
a.add("123")
a.add("123")
a.add("123")
a.add("123")
a.add("456")
a.add("789")
a.add("123")
Set b = new HashSet()
ArrayList c = new ArrayList()
for (int i = 0i <a.size()i++) {
Object x = a.get(i)
if (b.contains(x)) {
c.add(x)
}
b.add(x)
}
数组的 *** 作不多,一般在C++中涉及这种 *** 作都用容器:List,vector,deque,它们提供了类似的 *** 作函数,如push_back,insert,erase等等。如果利用数组的话,可以遍历数组元素,然后赋值,即:
for(int i=0i!=array.size()i++)
array[i]=value
在Visual Studio .NET 2008环境中编译、运行通过,使用VC++开发:#include "stdafx.h"
#include "iostream"
using namespace std
//抽象基类CRole
class CRole
{
protected:
char *name
public:
CRole(char *name)
{
this->name = name
}
~CRole()
{
this->name = NULL
}
virtual void printInfo() = 0
}
//飞机类
class CPlane : public CRole
{
public:
CPlane(char *name):CRole(name){}
void printInfo()
{
cout<<"CPlane\t"<<name<<endl
}
}
//坦克类
class CTank : public CRole
{
public:
CTank(char *name):CRole(name){}
void printInfo()
{
cout<<"CTank\t"<<name<<endl
}
}
//子d类
class CBullet : public CRole
{
public:
CBullet(char *name):CRole(name){}
void printInfo()
{
cout<<"CBullet\t"<<name<<endl
}
}
int _tmain(int argc, _TCHAR* argv[])
{
CRole *arr[15]//3架飞机、2部坦克,10颗子d
int i
arr[0] = new CPlane("歼10 1号")
arr[1] = new CPlane("歼11 1号")
arr[2] = new CPlane("歼10 2号")
arr[3] = new CTank("99式 1号")
arr[4] = new CTank("96式 1号")
arr[5] = new CBullet("5.45mm 1号")
arr[6] = new CBullet("5.8mm 1号")
arr[7] = new CBullet("5.45mm 2号")
arr[8] = new CBullet("5.8mm 2号")
arr[9] = new CBullet("5.45mm 3号")
arr[10] = new CBullet("5.8mm 3号")
arr[11] = new CBullet("5.45mm 4号")
arr[12] = new CBullet("5.8mm 4号")
arr[13] = new CBullet("5.45mm 5号")
arr[14] = new CBullet("5.8mm 5号")
for(i=0i<15i++)
{
arr[i]->printInfo()
}
return 0
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)