Patterns Overview
- C++ Patterns
- Container Class Patterns
- p-Containers
- a-Containers
- Iterator Patterns
- Random Access Iterators
- Bidirectional Iterators
- Forward Iterators
- Adaptor Patterns
- Adaptor Classes
- Adaptor Iterators
- Generic Algorithm Patterns
C++ Patterns
// default constructor for class X
X::X();
// destructor for class X
X::~X();
// copy constructor for class X
X::X(const X&);
// assignment operator for class X
X& X::operator = (const X&);
// assignment operator implementation
X& X::operator = (const X& x2)
{
if (this != &x2) // avoid self-assignment
{
// clear and clone
}
return *this;
}
// assignment operator use
x1 = x2; // operator syntax
x1.operator = (x2); // operator function syntax
// I/O operators for class X (non-member)
stream& operator << (stream&, const X&);
stream& operator >> (stream&, X&);
// member operators for class X
return_type X::operator operator_name (operator_parameters);
// non-member operators
return_type operator operator_name (operator_parameters);
// member functions for class X
return_type X::method_name (method_parameters);
// non-member functions
return_type function_name (function_parameters);