流插入运算符<<:不能重载成类的成员函数,因为第一个参数必须是ostream&,因此该运算符只能重载为全局函数,一般情况下都重载为类的友元函数
void operator<<(ostream& out,const Date& d)
{
out << d._year << d._month << d.day << endl;
}
友元类:友元类的所有成员函数都可以是另一个类的友元函数,都可以访问另一个类中的非共有成员
class Time
{
frirnd class Date;
public:
private:
}
内部类:一个类定义在另一个类内部
class List
{
public:
class ListNode
{
public:
ListNode(int data = 0)
: _next(nullptr)
, _data(data)
{}
ListNode* _next;
int _data;
}
public:
void PushBack(int data)
{}
private:
ListNode* _head;
};