Which code snippet correctly depicts the stream friend functionality of cin and cout?
A. class InOut {public: ostream& operator<<(ostream& out, const InOut& line) (...}
istream& operator>>(istream& in, InOut& line) {...}
B. class InOut {public:}; friend ostream& operator>>(ostream& out, const InOut& line) {...}
friend istream& operator<<(istream& in, InOut& line) {...)}
C. class InOut {public: ostream& operator>>(ostream& out, const InOut& line) (...}
istream& operator<<(istream& in, InOut& line) {...}
D. class InOut {public friend ostream& operator<<(ostream& out, const InOut& line) {...}
friend istream& operator>>(istream& in, InOut& line) {...}