### Passing Arguments in C++

In C++, if a nonstatic class member function is passed as an argument, the argument is converted to a pointer to member.

Passing a class object by value is actually passed by reference if the class has a destructor or the class has a copy constructor that does more than a bitwise copy.

It is an error when a function argument is a class object and all of the following properties hold:

- The class needs a copy constructor.
- The class does not have a user-defined copy constructor.
- A copy constructor cannot be generated for that class.

Examples of Calling Functions and Passing Arguments

Copy Constructor
Passing Arguments by Reference
Constructors and Destructors Overview
Member Functions
Type Specifiers