majid1605
جمعه 23 اردیبهشت 1390, 19:47 عصر
من با مبحث کلاسها به مشکل بر خوردم هر کاری می کنم متوجه نمیشم منظور از سازنده کپی و تساوی چیه و هچ مثال کاربردی در موردشون نتونستم پیدا کنم ممنون میشم دوستان در این مورد کمک کنن.
چندتا سوال دیگه هم دارم:
بیشتر سورس کدهایی رو که توی نت می گیرم اجرا نمیشن بعضی موقع ها به Cout, cin گیر میده که تعریف نشده هستند درصورتی که هدر فایل قبلاً include شده و توی همون برنامه به Cout, cin که چند خط بالاتر هستن بدون مشکل هستند.
تابع gotoxy(x,y) توی VS وجود نداره ?
چندتا مثال کاربردی که از کلاسها یا استراکت به صورت کاربردی استفاده شده برام بزارید هرچی بیشتر بهتر.
خودم یه برنامه نوشتم که تعداد دانش آموزان رو می گیره و بعدش اسم و نمره و تاریخ رو وارد می کنیم در اخر همه رو واسمون نمایش میده .
#include <iostream>
#include <string.h>
using namespace std;
class myclass
{
public:
int dd,mm,yy;
char name[20];
float score;
void Read()
{
cout << "Please enter your name =" ;
cin.getline(&name[0],20) ;
cout << "Please enter your score =";
cin >> score;
cout << "Please enter Day =" ;
cin >> dd;
cout << "Please enter Month =" ;
cin >> mm;
cout << "Please enter Year =" ;
cin >> yy;
cout << "///////////////////////////////////////////////////////\n";
}
};
int main()
{
int n;
cout << "Please enter the number of students =";
cin >> n;
myclass myvar , *store = new myclass[n];
if (store == NULL)
cout << "Can nat allocate memory";
else;
{
for (int i = 0 ; i < n ; i++)
store[i].Read();
for (int i = 0 ; i < n ; i++)
{
cout << "Name :" << store[i].name << endl;
cout << "Score :" << store[i].score << endl;
cout << "Data :" << store[i].yy <<"/" << store[i].mm <<"/" << store[i].dd <<endl;
cout << "**********************************************\n" ;
}
delete [] store ;
}
}
چندتا سوال دیگه :
توی برنامه نویسی توی کلاس بهتره کل تابع رو داخل کلاس تعریف کنیم یا اونو اعلان کنیم بعد خارج از کلاس کل تابع رو بنویسیم ؟اگه مزایا و معایب هر کدوم رو هم بگید که خوب میشه از همین ابتدا راه درست رو در پیش بگیریم.
اصلاً مگه هرکاری که با استراکت میتونیم انجام بدید با کلاس هم نمیشه انجام داد .حالا اگه هیچوقت از استراکت توی برنامه هامون استفاده نکنیم ایرادی داره ؟
کد بالا رو میشه به روش بهتری نوشت ؟از لحاظ خوانایی و اجرای سریعتر البته با کلاس چون من می خوام با کلاسها بیشتر اشنا بشم.
چندتا سوال دیگه هم داشتم که یادم رفت اینقدر تایپ کردم
چندتا سوال دیگه هم دارم:
بیشتر سورس کدهایی رو که توی نت می گیرم اجرا نمیشن بعضی موقع ها به Cout, cin گیر میده که تعریف نشده هستند درصورتی که هدر فایل قبلاً include شده و توی همون برنامه به Cout, cin که چند خط بالاتر هستن بدون مشکل هستند.
تابع gotoxy(x,y) توی VS وجود نداره ?
چندتا مثال کاربردی که از کلاسها یا استراکت به صورت کاربردی استفاده شده برام بزارید هرچی بیشتر بهتر.
خودم یه برنامه نوشتم که تعداد دانش آموزان رو می گیره و بعدش اسم و نمره و تاریخ رو وارد می کنیم در اخر همه رو واسمون نمایش میده .
#include <iostream>
#include <string.h>
using namespace std;
class myclass
{
public:
int dd,mm,yy;
char name[20];
float score;
void Read()
{
cout << "Please enter your name =" ;
cin.getline(&name[0],20) ;
cout << "Please enter your score =";
cin >> score;
cout << "Please enter Day =" ;
cin >> dd;
cout << "Please enter Month =" ;
cin >> mm;
cout << "Please enter Year =" ;
cin >> yy;
cout << "///////////////////////////////////////////////////////\n";
}
};
int main()
{
int n;
cout << "Please enter the number of students =";
cin >> n;
myclass myvar , *store = new myclass[n];
if (store == NULL)
cout << "Can nat allocate memory";
else;
{
for (int i = 0 ; i < n ; i++)
store[i].Read();
for (int i = 0 ; i < n ; i++)
{
cout << "Name :" << store[i].name << endl;
cout << "Score :" << store[i].score << endl;
cout << "Data :" << store[i].yy <<"/" << store[i].mm <<"/" << store[i].dd <<endl;
cout << "**********************************************\n" ;
}
delete [] store ;
}
}
چندتا سوال دیگه :
توی برنامه نویسی توی کلاس بهتره کل تابع رو داخل کلاس تعریف کنیم یا اونو اعلان کنیم بعد خارج از کلاس کل تابع رو بنویسیم ؟اگه مزایا و معایب هر کدوم رو هم بگید که خوب میشه از همین ابتدا راه درست رو در پیش بگیریم.
اصلاً مگه هرکاری که با استراکت میتونیم انجام بدید با کلاس هم نمیشه انجام داد .حالا اگه هیچوقت از استراکت توی برنامه هامون استفاده نکنیم ایرادی داره ؟
کد بالا رو میشه به روش بهتری نوشت ؟از لحاظ خوانایی و اجرای سریعتر البته با کلاس چون من می خوام با کلاسها بیشتر اشنا بشم.
چندتا سوال دیگه هم داشتم که یادم رفت اینقدر تایپ کردم