PDA

View Full Version : ارسال اشیا به توابع



rezaricky
پنج شنبه 17 تیر 1389, 15:59 عصر
سلام ،من دارم یه برنامه مینویسم توی توربو سی که باید یک شی و یک ارایه از اشیا رو بصورت فراخوانی با ارجاع به تابع بفرستم.
ممنون میشم کمکم کنید:اشتباه:

Salar Ashgi
پنج شنبه 17 تیر 1389, 17:51 عصر
درباره کدوم قسمتش ؟ واضحتر بیان کنید .

khafan_bat
پنج شنبه 17 تیر 1389, 23:44 عصر
خوب مثل ارسال یک متغیر معمولی به یک تابع هست که اگه بخوای میتونی به صورت رفرنسی تعیین کنی.



([] void func(int a,student s,student arrayS

آرگومان اولی از نوع یک عدد صحیح ، دومی یک شی از نوع کلاس دانشجو و سومی هم یک آرایه از اون شی که به تابع مورد نظر ارسال شده اند.

rezaricky
پنج شنبه 17 تیر 1389, 23:52 عصر
درباره کدوم قسمتش ؟ واضحتر بیان کنید .
ببینید من یک ارایه از یک کلاس تعیریف کردم و میخوام ادرس اون ارایه رو به تابع بدم حالا چه جوری نمیدونم

Salar Ashgi
جمعه 18 تیر 1389, 13:15 عصر
ببینید من یک ارایه از یک کلاس تعیریف کردم و میخوام ادرس اون ارایه رو به تابع بدم حالا چه جوری نمیدونم
یه مثال ساده :



#include <iostream>
#include <conio>
class A{
public:
A(int);
A();
void print();
private:
int x;
};
//==========
A::A(int a){
x=a;}
//==========
A::A(){
x=0;}
//==========
void A::print(){
cout<<"X = "<<x<<endl;}
//==========
void Sum_A(A ar[],int n){
for(int i=0;i<n;i++)
ar[i] = A(i+1);}
//==========
int main(){
A ar[3];
Sum_A(ar,3);
for(int i=0;i<3;i++)
ar[i].print();
getch();
}
عکس خروجی برنامه در ضمیمه .

هرکجای برنامه سوالی داشتید ، مطرح کنید .

فقط ذکر این نکته که : شما وقتی آرایه ای از اشیا درست می کنید

باید یک تابع سازنده بدون ورودی نیز برای کلاس تعریف کرده باشید .