# Inside Class Declaration ```cpp class Account { private: double balance; public: void set_balance(double bal) { balance = bal; } double get_balance() { return balance; } } ``` - `balance` is private - public methods needed to access `balance` # Outside Class Declaration ```cpp void Account::set_balance(double bal) { balance = bal; } double Account::get_balance() { return balance; } ``` - recommended practice as programs get larger # Separate Declaration from Implementation Create `.h` file ```cpp class Account { private: double balance; public: void set_balance(double bal); double get_balance(); }; ``` - class, methods, and attributes declared without being implemented Good idea to use [[Include Guard]] ```cpp #ifndef _ACCOUNT_H_ #define _ACCOUNT_H_ class Account { private: double balance; public: void set_balance(double bal); double get_balance(); }; ``` Only include `.h` files, never `.cpp` files