Member Functions
Member functions implement the behavior of a class. Member
functions can be defined within the class definition or separately. You
can use the inline function specifier and either the static or virtual (but not
both) specifier. (See Chapter 2 for
more about function specifiers.) Defining a member function within the
class definition declares the function inline, even if you do not use
the inline specifier.
A nonstatic member function can have const, volatile, or both function qualifiers.
Qualifiers appear after the function parameters and before the exception
specification. Function qualifiers are discussed in the next section,
Section 6.3.2.
Example 6-8 shows various member function declarations and definitions.
#include <cmath> #include <iostream> #include <istream> #include <ostream> class point { public: typedef double value_type; // Constructors are special member functions. explicit point(value_type x = 0.0, value_type y = 0.0); value_type x( ) const { return x_; } value_type y( ) const { return y_; } void x(value_type x) { x_ = x; } void y(value_type y) { y_ = y; } value_type distance( ) const; bool operator==(const point& pt) const; inline static point origin( ); private: value_type x_, y_; }; point::point(value_type x, value_type y) : x_(x), y_(y) {} point::value_type point::distance( ) const { return std::sqrt(x() * x() + y( ) * y( )); } bool point::operator==(const point& pt) const { return x() == pt.x() ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access