PDA

View Full Version : استفاده از آرايه در داخل كلاس(راهنماييم كنيد)



shadmehr2008
شنبه 19 دی 1388, 02:05 صبح
من نميتونم از رشته و آرايه در داخل كلاس استفاده كنم شايد تو تعريف و نحوه استفادش مشكل دارم

مثلا چطوري تو يه آرايه دنبال يه رشته بگردم(تو داخل خود كلاس)
چطوري يه رشته رو بندازم تو يه آرايه و بتونم كار بالا رو انجام بدم
همه اين كارا بايد تو خود كلاس انجام بشن و من در main فقط يه اسمو به عنوان آرگومان بدم و اون در داخل كلاس ذخيره بشه--- فكر كنم منطق آرايه به عنوان آرگومان تو كلاس با تابع تو C فرق مي كنه
اساتيد كمكم كنن ممنون مي شم--- من فايل برنامه اي رو كه تونستم بنويسمو برا اساتيد محترم مي زارم
يه كلاس مي خوام داراي دو متد (show(name) , store(tel, name,address

mortezamsp
شنبه 19 دی 1388, 22:36 عصر
مشکلت در فرستادن آرگومان بود . تو میخواستی یه رشته رو بفرستی به تابع store خوب کافی بود مینوشتی char* ولی char*[] یعنی آرایه ای از رشته ها . الآن ببین درست شده ؟

#include<iostream.h>
#include<string.h>
#include<conio.h>
const int DBS=10;//each array lenght
const int BNL=20;//book name lenght
const int BWL=20;//book writer lenght
class card{
//private
int mTop;
//arrays
int m_bc[DBS];//BOOK COUNT
char m_bn[DBS][BNL];
char m_bw[DBS][BWL];
//public
public:
card();//sazanedh
~card();//mokharreb
void show(int cnt);
void store(int bc,char *bn,char *bw);
};
card::card(){
mTop=-1;
}
card::~card(){
//bye
}
void card::show(int cnt){
for(int i=0;i<=mTop;i++)
if(m_bc[i]==cnt)
cout<<m_bc[i]<<" "<<m_bn[i]<<" "<<m_bw[i];
}
void card::store(int bc ,char *bn ,char *bw ){
mTop ++ ;
m_bc[mTop]=bc;
strncpy(m_bn[mTop] ,bn ,BNL ) ;
strncpy(m_bw[mTop] ,bw ,BWL ) ;
}
void main(){
card crd;
int ex;
clrscr();
crd.store(15,"javad","mosavi");
crd.store(75,"isiran","javad");
crd.store(12,"c++","javad");
crd.show(75);
cin>>ex;
}