الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ارجو تصحيح مشكلة في الكود

بدأه سار مع الليل في 22 فبراير 2011 · 2 رد · 562 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هذه كود يعتمد على دالة صديقة >>operator

عندما اكتب هذا الكود ;cout<<t1 يظهر لي خطاء

عندما استخدمت Template ظهرت المشكلة؟؟

فارجو التصحيح في الكود التالي

حيث انا متاكد انة صحيح ولكن تظهرلي مشكلة ولا اعلم اية السبب

#include "stdafx.h"
#include<iostream>
using namespace std;

template <class T>
class Test{
	T info;
	friend ostream& operator <<(ostream &,const Test<T>&);
public:

	Test(){}
       ~Test(){}
        void set_info(T);
        T get_info()const;
};
template<class T>
void Test<T>:: set_info(T set)
{
	info=set;
}
template<class T>
T Test<T>:: get_info()const
{
	return info;
}

template<class T>
ostream & operator << (ostream & out , const Test <T>& q)
{
	out<<q.info<<endl;
	return out;
}

int _tmain(int argc, _TCHAR* argv[])
{
	Test<int> t1;
	t1.set_info(20);
	cout<<t1;
	return 0;
}

تم تعديل هذه المشاركة بواسطة سار مع الليل في 22 فبراير 2011 في 13:49

49940.jpg
#2
سار مع الليل كتب:

السلام عليكم

هذه كود يعتمد على دالة صديقة >>operator

عندما اكتب هذا الكود ;cout<<t1 يظهر لي خطاء

عندما استخدمت Template ظهرت المشكلة؟؟

فارجو التصحيح في الكود التالي

حيث انا متاكد انة صحيح ولكن تظهرلي مشكلة ولا اعلم اية السبب

#include "stdafx.h"
#include<iostream>
using namespace std;

template <class T>
class Test{
	T info;
	friend ostream& operator <<(ostream &,const Test<T>&);
public:

	Test(){}
       ~Test(){}
        void set_info(T);
        T get_info()const;
};
template<class T>
void Test<T>:: set_info(T set)
{
	info=set;
}
template<class T>
T Test<T>:: get_info()const
{
	return info;
}

template<class T>
ostream & operator << (ostream & out , const Test <T>& q)
{
	out<<q.info<<endl;
	return out;
}

int _tmain(int argc, _TCHAR* argv[])
{
	Test<int> t1;
	t1.set_info(20);
	cout<<t1;
	return 0;
}

اضف تعريف لل Template قبل ال declare لل friend operator

#include "stdafx.h"
#include<iostream>
using namespace std;

template <class T>
class Test{
	T info;
	template<class T>
	friend ostream& operator <<(ostream &,const Test<T>&);
public:

	Test(){}
       ~Test(){}
        void set_info(T);
        T get_info()const;
};
template<class T>
void Test<T>:: set_info(T set)
{
	info=set;
}
template<class T>
T Test<T>:: get_info()const
{
	return info;
}

template<class T>
ostream & operator << (ostream & out , const Test <T>& q)
{
	out<<q.info<<endl;
	return out;
}

int _tmain(int argc, _TCHAR* argv[])
{
	Test<int> t1;
	t1.set_info(20);
	cout<<t1;
	return 0;
}
#3

شكراً لك اخي الغالي

الان اشتغل تمام

بار الله فيك :clapping:

:ty: :ty:

49940.jpg

مواضيع مشابهة