当前位置: 代码迷 >> C语言 >> 国外大学作业
  详细解决方案

国外大学作业

热度:397   发布时间:2005-09-28 00:21:00.0
国外大学作业
如何把以下程序的template classes去掉,1.改成用generic classes编写的c++程序,2.改成用obstract classes编写的c++程序.

// Generic Floyd-Warshall
// Demonstrates templates


#include <iostream.h>
template<class Value, Value initial,
Value (*plus)(Value,Value),
Value (*mult)(Value,Value)>
void floydWarshall(Value *v, int n) {
for(int k=0; k<n; k++)
v[n*k+k]=initial;
for(int k=0; k<n; k++)
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
v[n*i+j]=plus(v[n*i+j], mult(v[n*i+k],v[n*k+j]) );
}
bool plus (bool a, bool b) { return a || b; }
bool mult (bool a, bool b) { return a && b; }
int main(int argc, char **argv) {
int n;
cin >> n;
bool *test=new bool(n*n);
for(int i=0; i<n*n; i++)
cin >> test[i];
floydWarshall<bool,true,plus,mult>(test,n);
return 0;
}
搜索更多相关的解决方案: 大学  作业  国外  

----------------解决方案--------------------------------------------------------
这个程序中只是用了template function ,又没用template class
----------------解决方案--------------------------------------------------------
那是否可以把template去掉,分别用abstract classes和generic classes编写程序?我很急,明天就交了,能否帮我解决一下,谢了.
----------------解决方案--------------------------------------------------------
我还没学到这里。
----------------解决方案--------------------------------------------------------
  相关解决方案