c++友元函数和输入创建类

#include
using namespace std;

class datat
{
public:
datat (int y=0,int m=0,int d=0)
{
year = y; month = m; day = d;
}
friend void display();
private:
int year, month, day;
friend datat operator +(datat&);
};

void display()
{
cout << year <<"-"<<month<<"-"<<day<< endl;
}

datat operator+ (datat&)
{
datat brithday;
brithday.day = brithday.day + 1;
return brithday;
}

int main()
{
datat frist(0, 0, 0);
cin >> frist;
}
报错是未定义year,month,day
我不是已经声明友元了嘛
还想问一下怎么才能自己输入创建类呢

private私有的,只能类内访问