正文

OpenFOAM——primitive——VectorSpace类2006-11-13 12:32:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/bioexplore/20271.html

分享到:

今天介绍VectorSpace类,该类定义了矢量空间类,是Vector类的基类。该类为模板类具有三个模板参数:class Form,class Cmpt,int nCmpt,其中Form指明要创建Form类型的VectorSpace对象,Cmpt为该空间中元素的类型,nCmpt为空间中矢量的元素个数。 公有属性(public)    成员变量:           Cmpt v_[nCmpt];定义了公有的数据成员v_;因此对外该成员是公开的可以随意访           问。    构造函数(3个):           VectorSpace();默认构造函数           VectorSpace(Istream& is);丛输入流构造           VectorSpace(const VectorSpace<Form,Cmpt,nCmpt>& vs);复制构造函数    成员函数:           const Cmpt& component(const direction d) const; const VectorSpace对象的component                                  函数,将返回const的第d个元素的值。           Cmpt& component(const direction d);  component成员函数的非const版本           void componet(Cmpt& c,const direction d) const; 完成c=v_[d];           void replace(const direction d,const Cmpt& c);  v_[d]=c;           这里的direction也是一个类型,有typedef unsigned char direction;   成员操作符:           const Cmpt& operator[](const direction d) const;const版的下标操作符           Cmpt& operator[](const direction d);非const版的下标操作符           void operator=(const VectorSpace<Form,Cmpt,nCmpt>& vs);赋值操作符           void operator+=(const VectorSpace<Form,Cmpt,nCmpt>& vs); +=操作符           void operator-=(const VectorSpace<Form,Cmpt,nCmpt>& vs); -=操作符           void operator*=(const scalar s); *=操作符,与scalar的乘法操作           void operator/=(const scalar s); /=操作符,与scalar的除乘法操作    输入输出友元:            friend Istream& operator>><Form,Cmpt,nCmpt>(Istream & is,                                                        VectorSpace<Form,Cmpt,nCmpt>& vs);输入友元            friend Ostream& operator>><Form,Cmpt,nCmpt>(Ostream & os,                                                        VectorSpace<Form,Cmpt,nCmpt>& vs);输出友元 另外还有一个操作于VectorSpace对象的全局模板函数name:template<class Form, class Cmpt, int nCmpt>word name(const VectorSpace<Form, Cmpt, nCmpt>&);其中word为一个对象表示一个单词,该函数将VectorSpace表示成一串字符的形式。就到这了,明天继续!  

阅读(5000) | 评论(3)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册