注册 登录
编程论坛 C++教室

请教关于类的对象赋值问题

hsnr 发布于 2011-07-14 09:22, 332 次点击
有以下C++程序片段
double Lmin=0,Lmax=1;
int N=20;
double f(double x);
Mesh ms(Lmin,Lmax,N);
TrMatrix<double> A(N-1);
Vect<double> b(N-1);
double h=(Lmax-Lmin)/double(N);

for(ing i=2;i<N-1;i++)
{
double x=ms.getPtrNode(i->getCoord(1);
A(i,i)=2./h;
A(i,i+1)=-1./h;
A(i,i-1)=-1./h;
b(i,i)=f(x)*h;
}

 A(1,1)=2./h;}
 A(1,1)=2./h;
 A(1,2)=-1./h;
 A(N-1,N-2)=-1./h;
 A(N-1,N-1)=2./h;

A.Solve(b);

其中A,b是模板类的对象,程序中怎么可以用以下形式
A(i,i)=2./h;
b(i,i)=f(x)*h;
对它们进行赋值呢?怎么理解和解释这些赋值语句?那本C++书籍上介绍过这种语法规则?
2 回复
#2
specilize2011-07-14 09:57
A(i,i)=2./h;
前面那一部分A(i,i)是个仿函数,或叫函数对象,返回值是个引用就可以赋值了,后面那个,我查了下,好像不可以重载./操作符,所以我觉得他应该是既重载了.操作符又重载了/操作符
#3
hsnr2011-07-15 09:11
谢谢楼上的点拨,明白了。
1