From: Jeff Weeks Newsgroups: comp.os.msdos.djgpp Subject: C++ class interaction and overloading (should be simple answer) Date: Sat, 02 Aug 1997 18:13:27 -0400 Organization: Code X Software Lines: 58 Message-ID: <33E3B107.63DEA07F@execulink.com> NNTP-Posting-Host: ppp35.neptune.execulink.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk Hi there... I've got a C++ problem here. I've defined a two classes: Vector and Matrix. I'd like to be able to do this: Vector2 = Vector1 * Matrix1 But I can't get that to work. Is this possible? What I tried was this (in my Vector class): class Vector { ... public: inline friend Vector operator * (Matrix& mat, Vector& vect); ... }; inline Vector operator * (Matrix& mat, Vector& vect) { Vector v; v.x = vect.x * mat.get(0,0) + vect.y * mat.get(1,0) + vect.z * mat.get(2,0) + mat.get(3,0); v.y = vect.x * mat.get(0,1) + vect.y * mat.get(1,1) + vect.z * mat.get(2,1) + mat.get(3,1); v.z = vect.x * mat.get(0,2) + vect.y * mat.get(1,2) + vect.z * mat.get(2,2) + mat.get(3,2); return v; } I'm afraid I can't remember the error I got (and I'm in Linux now so I can't check...). It was something along the lines of, "Can't find operator to math that expression" :) I'd really like to get that working, so if anybody has any information on this, please do tell. If you need more information, I'll do my best to supply it. Thanks a lot, Jeff -------------------------------------------- - Code X Software - Programming to a Higher Power email: mailto:pweeks AT execulink DOT com web: http://www.execulink.com/~pweeks/ --------------------------------------------