A few things:
Update your headers if you can
Code:
//if you have a new enough compiler (standards compliant)
#include <iostream> //the standard headers do not have
#include <string> // the .h extension
using namespace std;
I'm not sure why you need a friend function here...
Code:
const int n=3;
template <class T>
class myclass
{
private:
T a[n];
public:
void readdata();
void displaydata();
//friend void displaydata(myclass p);
};
Then for your input functions you might want to do something like this:
Code:
//----------------------------------------------------------------------------
template <class T>
void displaydata(myclass<T> q)
{
for(int i=0; i<n; ++i)
cout<<q.a[i]<<endl;
}
//-----------------------------------------------------------------------------
//template <class T>
void myclass<float> ::readdata()
{
for(int i=0; i<n; ++i)
{
cout<<"Enter data (float):";
cin>>a[i];
}
}
void myclass<int> ::readdata()
{
for(int i=0; i<n; ++i)
{
cout<<"Enter data (int):";
cin>>a[i];
}
}
//-----------------------------------------------------------------------------
template <class T>
void myclass<T> :: displaydata()
{
for(int i=0; i<n; ++i)
cout<<a[i]<<endl;
}
//-----------------------------------------------------------------------------
int main()
{
myclass<int> p;
p.readdata();
p.displaydata();
}
But its late and I'm tired so I might not understand your problem correctly