Lồng hàm trong hàm như the nao với istream(OOP)

void DATE::Nhap()
{
	cout << "Nhap Ngay: ";
	cin >> day;
	cout << "Nhap Thang: ";
	cin >> month;
	cout << "Nhap Nam: ";
	cin >> year;
	if (KiemTraNgayHienTai() == false)// ngay hien tai sai thì cho nhập lại
	{
		cout << "\nNhap sai.Nhap lai" << endl;
		Nhap();// cho nhap lại bằng cách lồng hàm Nhap() vào trong hàm Nhap()
	}
	
}

còn theo cách istream& operator>>(istream& NHAP,DATE &X) thì lồng thế nào, để cho người nhập nhập sai rồi nhập lại??

Đệ quy. Tuy nhiên hạn chế dùng

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?