Topic: bitset class design question: when to use member operators or non-member operators?
Author: Steve Ward <planet36@gmail.com>
Date: Sun, 13 May 2007 09:43:24 CST Raw View
I have a design question about 3 (non-assignment) member operators in
the bitset class (23.3.5).
Why are operator~, operator<<, and operator>> defined as member
operators when they could be (perhaps better) defined as non-member
operators? Are there any consequences if they were non-members?
It seems like they should be more similar to how non-members
operator&, operator|, and operator^ are defined (which all rely on
their respective assignment operators).
Or maybe the question can be turned around to ask why aren't
operator&, operator|, and operator^ members of bitset.
I'm asking this because I'm making my own implementation of the bitset
class.
member operators:
operator~ utilizes member flip
operator<< utilizes member operator<<=
operator>> utilizes member operator>>=
non-member operators:
operator& utilizes member operator&=
operator| utilizes member operator|=
operator^ utilizes member operator^=
Steve Ward
---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html ]