查看单个帖子
  #4 (permalink)  
旧 2008-01-04
cpper cpper 当前离线
论坛管理员
 
注册日期: 2006-02-09
帖子: 99
文章: 1
cpper 的声望功能已被禁用
默认 回复: 请教各位学长一个东西,意思简单,但实现有点问题

代码:
#include <vector> template<typename Point, typename Arc> class Graph { typedef std::vector<Point> Points; typedef std::vector<Arc> Arcs; Points points_; Arcs arcs_; public: void addPoint( const Point& p ) { points_.push_back( p ); } void addArc( const Arc& a ) { arcs_.push_back( a ); } }; class Atom {}; class Liaison {}; typedef Graph<Atom, Liaison> Molecule; class Post {}; class Lien {}; class Reseaux : public Graph<Post, Lien> {}; int wmain() { Molecule m; m.addPoint( Atom() ); m.addArc( Liaison() ); Reseaux r; r.addPoint( Post() ); r.addArc( Lien() ); // r.addPoint( Atom() ); compile error return 0; }
btw: dynamic_cast的前提是虚函数,而不是虚析构函数,虽然有虚函数最好有虚析构函数。
回复时引用此帖