A few thoughts:
1) Remain polite and considerate (I'm sure you are, just remain so)
2) Consider going to the dept head. Telling them "my instructor
sucks" is useless. Give specifics or don't go. One problem
is enough for you to be tossed out the dept head's room,
even if the instructor was very wrong.
3) Be careful, because an issue will come up that you'll try
to say the instructor is wrong on because s/he has been
so often in the past, and it will turn out that you are
wrong, and then all the instructor has to say is "See!!"
4) Consider why you are in the program at this particular school
at all, whether this is an isolated case, etc.
5) If you involve other students in complaining, don't make it
an angry mob mentality, no matter how bad the situation.
--
That's really valuable list for every student IMO
and, off course, when I said I was arguing I really meant discussing it
in class, and when I talked about it I was really polite - what I write
in here is just brief explanation how it was in general; In fact, I
just mentioned that I was right and showed why, and the teacher started
this discussion himself. The guy who said that it was invalid use of
private dtor is the class tutor, the guy who marked my paper is another
person, the marker, and the class teacher/lecturer is the head of the
department. The thing is, I'm prety sure that her (the head's of the
dept) knowledge of c++ is really weak, aprox. on the level when I'd
been learing c++ for a year (I know it for ~5years). Basicly, she
writes c code, and not so good about c++. I just tried to talk to her,
and it's absolutely useless!!! I didn't even mention anything about
other teachers' knowledge, I just wanted to get the right mark for my
works (A+ always

And I don't involve other students into complaining!! I just have one
good friend in this class and only to him I say the truth

, that the
head of the dept sucks and why etc... and he told me some web site
(don't remember the name, something like myteachersucks.com or
whatever) where there are alot of completely negative posts about out
lecturer/dept head. And I don't attend her lectures anyways, they are
absolutely of no use for me (I only do assignments, quizes, exams). On
the first day I attended her lecture she started to explain classes and
said that it's soooo easy for her that she often forgets to tell
details to the students, so that students should ask questions
themselves about the stuff she forgets to mention

...
I don't really care how well they teach etc, I study c++ from other
sources (groups, c++ faq are some good ones). What I care is that when
I answer right I got it marked as wrong... In previous quiz they asked
to write a function that accepts c-array of some structures
(Student{id,name,gpa}) and the size, and sort it based on the gpa. It
was stated that we may use any algorithm for sorting, so I used
std::sort

fith binary predicate to compare Students (instead of
messing with loops etc as they expected students to do), but they
marked my solution as incorrect
And about my program, I'm in computer engeneering, concordia
university, Montreal, Canada. And now I'm thinking about switching to
some other program (not because of the teachers)