PDA

View Full Version : نوشتن هدر در C++



homaaa
یک شنبه 20 شهریور 1390, 10:12 صبح
سلام دوستای خوبم
من یه کلاس ساده با template نوشتم که محتوای هر آرایه دلخواهی رونمایش میده، حالا می خوام این کلاس رو به شکل هدر بنویسم که در هر برنامه ای بشه ازش استفاده کرد در ضمن می خوام هدر نویسی هم یاد بگیرم.
برنامه اینه، لطفا راهنماییم کنید.


#include"stdafx.h"
#include<iostream>
#include<conio.h>
usingnamespace std;
template<class ary_tem>
class ary_class{
public:
void show_ary(ary_tem *,int );
};
template<class ary_tem>
void ary_class<ary_tem>::show_ary(ary_tem *ary,int size){
for(int i=0;i<size;i++)
cout<<"array["<<i+1<<"]= "<<ary[i]<<endl;
}

int _tmain(int argc, _TCHAR* argv[])
{
int a[10]={12,17,18,19,67,78,90,45,66,1};
ary_class <int> k;
k.show_ary(a,10);
getch();
return 0;
}

jeson_park
پنج شنبه 31 شهریور 1390, 00:41 صبح
باسلام
ابتدا یک فایل با پسوند .h بسازید (مثلا myTemplate.h )
و کد زیر رو توش بزارید


template<class ary_tem>
class ary_class{
public:
void show_ary(ary_tem *,int );
};

بعد یه فایل cpp با نام myTemplate.cpp در ست کنید(درکنار همون فیل .h ذخیره کنید) و بعد این رو توش قرار بدید


#include<iostream>
#include<conio.h>

usingnamespace std;
#include "mytemplate.h"

template<class ary_tem>
void ary_class<ary_tem>::show_ary(ary_tem *ary,int size){
for(int i=0;i<size;i++)
cout<<"array["<<i+1<<"]= "<<ary[i]<<endl;
}

و نهایتا یک فایل cpp دیکه هم برای برنامه اصلی ایجاد کنید و کد زیر رو توش قرار بدید


#include"stdafx.h"
#include<iostream>
#include<conio.h>

usingnamespace std;

#include "mytemplate.h"

int _tmain(int argc, _TCHAR* argv[])
{
int a[10]={12,17,18,19,67,78,90,45,66,1};
ary_class <int> k;
k.show_ary(a,10);
getch();
return 0;
}

موفق باشید