26.05.2012, 13:00. Просмотров 343. Ответов 2
Если потоковую функцию описать внутри класса,
то все компилируется и собирается. Но если вынести ее код наружу,
то функция не находится:
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| template<class T>
class A
{
protected:
T x,y;
public:
A():x(0),y(0){}
//friend istream& operator>>(istream& is,A<T> &a);
//friend ostream& operator<<(ostream& is,A<T> &a);
friend istream& operator>>(istream& is,A<T> &a){is>>a.x>>a.y;return is;}
friend ostream& operator<<(ostream& is,A<T> &a){is<<a.x<<' '<<a.y<<endl;return is;}
};
//template<class T>
//istream& operator>>(istream& is,A<T> &a){is>>a.x>>a.y;return is;}
//template<class T>
//ostream& operator<<(ostream& is,A<T> &a){is<<a.x<<' '<<a.y<<endl;return is;}
int main()
{
A<int> a;
cin>>a;cout<<a;
system("pause");
return 0;
} |
|
Чо бы это значило?