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

请高手帮我解释一下这条语句

hsnr 发布于 2011-10-15 11:36, 709 次点击
有如下C++程序语句
   cout << "\nSolution :\n"<< b;
   Vect<double> sol(NbN);
   sol.set(ms,"exp(-10*x*x)+x*(1-exp(-10))-1");
   cout << "Error = " << (b-sol).getNormMax() << endl;
最后一句中的(b-sol).getNormMax(),两个类对象b、sol怎么能相减并共同作为类对象调用成员函数呢?
4 回复
#2
八画小子2011-10-15 15:20
首先应该是 b和sol是同一个类型,然后应该是重载操作符‘-’了吧,之后返回和b、sol一样的对象。
#3
yy7software2011-10-15 19:10
同意楼上的意见
#4
Lewisr2011-10-17 08:42
有点看不懂
#5
jcw081201102011-10-17 09:56
Vect 这个应该是一个类似向量的模板类;有些人为了追求效率的最大化都会舍弃库;我平时使用的向量也是自定义的;优点很多:高效率,低空间时间需求,缺点更明显----不适合移植;
Vect;<double> sol(NbN); 这条语句应该是以NbN个数定义浮点型类对象sol; sol.set(ms,"exp(-10*x*x)+x*(1-exp(-10))-1");这条语句是Vect捆绑的函数具体功能你最近看定义语句;
cout << "Error = " << (b-sol).getNormMax() << endl 这语句2楼说对的肯定是自定义操作符;自定义对象使用操作符必须是自定义的;因为普通操作符的语法不识别自定义类;也就是你的类定义体内肯定有类似 Vect& operator-(Vect& sol);的语句;

[ 本帖最后由 jcw08120110 于 2011-10-17 10:08 编辑 ]
1