正文

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表示成一串字符的形式。


就到这了,明天继续!

 

阅读(4726) | 评论(3)


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

评论

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