C++怎样用Vector计算一个三角形类和矩形类中所有对象的面积之和呢?

2025-01-05 12:40:50
推荐回答(1个)
回答1:

我说说想法吧,如果你说的Vector不是STL的vector模板,那么不用继续往下看了。

你有两个类都想放到vector,那么他们就要有一个基类CGraph类。CGraph类除了构造函数最少要有一个虚函数来获取面积,假定为Area。虚函数的原因我就不多讲了。

然后Vector。typedef std::Vector GraphList;
typedef GraphList::iterator GraphListElement;

然后。

GraphList list;
然后list.PushBack()函数可以加入对象。大小写我没注意,编译器有提示,自己就变懒了。该函数显然有参数。

在这里说一下迭代器(iterator),它有时候在一定程度上像是指针。具体用法还是去搜一些更好的教程吧。

int nTotal = 0;
for(GraphListElement e=list.Begin(); e != list.End(); e++)
{
nTotal += (*e)->Area();
}

直接可以运行的代码我想大概就不需要了吧。