标题:求教类的成员函数传值的方式
取消只看楼主
hsnr
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2010-4-4
结帖率:90.32%
已结贴  问题点数:3 回复次数:0 
求教类的成员函数传值的方式
    有个程序片段,其调用程序为:
      Elas3DT4 eq(theElement);
      eq.Deviator();
其中Elas3DT4是类,eq是对象,Deviator是类的成员,这个成语函数的定义为:
void Elas3DT4::Deviator(double coef)
{
   double c1=_G*_det*coef, c2=2*c1;
   for (size_t j=1; j<=4; j++) {
      double db11 = c2*_dSh(j).x;
      double db22 = c2*_dSh(j).y;
      double db33 = c2*_dSh(j).z;
      double db42 = c1*_dSh(j).z;
      double db43 = c1*_dSh(j).y;
      double db53 = c1*_dSh(j).x;
      for (size_t i=1; i<=4; i++) {
         eMat(3*i-2,3*j-2) += _dSh(i).x*db11 + _dSh(i).z*db42 + _dSh(i).y*db43;
         eMat(3*i-2,3*j-1) += _dSh(i).y*db53;
         eMat(3*i-2,3*j  ) += _dSh(i).z*db53;
         eMat(3*i-1,3*j-2) += _dSh(i).x*db43;
         eMat(3*i-1,3*j-1) += _dSh(i).y*db22 + _dSh(i).z*db42 + _dSh(i).x*db53;
         eMat(3*i-1,3*j  ) += _dSh(i).z*db43;
         eMat(3*i  ,3*j-2) += _dSh(i).x*db42;
         eMat(3*i  ,3*j-1) += _dSh(i).y*db42;
         eMat(3*i  ,3*j  ) += _dSh(i).z*db33 + _dSh(i).y*db43 + _dSh(i).x*db53;
      }
   }
}
    现在问题来了,由于这个成语函数是void类型,也就是没有返回值的,哪在调用语句eq.Deviator();中它把什么值传递出来呢?可能有几种传值的方式呢?请高手提点。
搜索更多相关主题的帖子: double 
2012-03-10 10:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-362718-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.896787 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved