c++中的一点疑问
#include <iostream>
using namespace std;
template<class T>
class Array1D
{
public:
Array1D( int size = 0 );
Array1D( const Array1D<T>& v );
// int Size() { return size; }
private:
int size;
T *element;
};
template<class T> Array1D<T>::Array1D( int sz )
{
if( sz < 0 )
cerr << "error" << endl;
size = sz;
element = new T[sz];
}
template<class T> Array1D<T>::Array1D( const Array1D<T>& v)
{
if( this==&v )
cerr << "error/n";
size = v.size; //这里size是private的 为什么能直接用v.size (编译运行都能成功)
element = new T[size];
}
int main()
{
Array1D<int> a1;
// Array1D<int> &a2 = a1;
// cout << a2.size;
cin.get();
}