Let's look at an example that shows a disadvantage of having references as members of a class:
template <typename T>
A<T>::A(T & obj) : x(obj) {} // constructor (this would probably go in the header)
int main(void) {
    int * num = new int;
    *num = 42;
    A<int> a(*num); // a.x references *num
    delete num; // uh-oh, *num is no longer valid and a.x cannot rebind
    return 0;
}
Of course, if the member variable was declared T x;, then x would be another instance of T capable of storing a copy the data of *num even after num is deleted.