-
تعريف دوتا كلاس
سلام به همگي كسي مي تونه كمكم كنه مربوط به يه پروژه مي شه كه بايد در طول ترم بصورت هفتگي كامل بشه.
كلاسي با نام Student طراحي كنيد. هرشي اطلاعات مربوط به يك دانشجو را نشان ميدهد.
براي شماره شناسايي. نام. آدرس. تاريخ ثبت نام. و تعداد ساعت هاي درسي بايد عضو گنجانده شود.
بايد متد هايي براي مقداردهي اوليه (سازنده) وعملگر = مجددا تعريف شود و همچنين اصلاح مقادير فيلد از جمله
متدي براي افزايش دادن ساعات درس گنجانده شود.
كلاسي بانام CourseRegistration طراحي كنيد. هر شي نشانگر ثبت نام يك دانشجو در يك واحد درسي است.
شماره درس. شماره شناسايي دانشجو. تعداد ساعت هاي درسي و نمره ي درس را به عنوان اعضايي از كلاس در
نظر بگيريد. متدها بايد به فراخور نياز گنجانده شود.
با اين دو تا كلاس تا آخر ترم كار دارم بايد هي بهشون چيز اضافه بشه ولي تا اينجا كسي هست بتونه كمكم كنه
مخصوصا در رابطه با سربار گذاري عملگر = واسه كلاس Student
ممنون
-
خيلي ممنون از همكاري صميمانتون
-
جواب سوال اولتون
در موردش سوالي داشتيد بگيد جواب بدم:5:
کد:
#include <iostream>
#include <string>
using namespace std;
class Student
{
public:
Student();
~Student();
Student& operator=(const Student);
void SetShenasai(unsigned long Ss) { itsSs = Ss; }
void SetName(char* pName) { strcpy(itsName,pName); }
void SetAddress(char* pAddress) { strcpy(itsAddress,pAddress); }
void SetHours(unsigned int hour) { itsHours = hour; }
void SetDate(char* date) { strcpy(itsDate,date); }
unsigned long GetShenasai() const { return itsSs; }
char* GetName() const { return itsName; }
char* GetAddress() const { return itsAddress; }
unsigned int GetHour() const { return itsHours; }
char* GetDate() const { return itsDate; }
void Show();
private:
unsigned long itsSs;
char* itsName;
char* itsAddress;
unsigned int itsHours;
char* itsDate;
};
Student::Student():
itsSs(10919919),
itsHours(6)
{
itsName = new char[10];
itsName = "MAHDI";
itsAddress = new char[10];
itsAddress = "YAZD...";
itsDate = new char[10];
itsDate = "1387/8/13";
}
Student::~Student()
{
delete [] itsName;
delete [] itsDate;
delete [] itsAddress;
itsName = '\0';
itsAddress = '\0';
itsDate = '\0';
}
Student& Student::operator=(const Student rhs)
{
if(this == &rhs)
return *this;
itsSs = rhs.GetShenasai();
itsHours = rhs.GetHour();
int itsLen = strlen(rhs.GetName());
itsName = new char[itsLen+1];
int itsLen1 = strlen(rhs.GetAddress());
itsAddress = new char[itsLen1 + 1];
int itsLen2 = strlen(rhs.GetDate());
itsDate = new char[itsLen2 + 1];
for(int i=0;i<=itsLen;i++)
itsName[i] = rhs.GetName()[i];
for(int j=0;j<=itsLen1;j++)
itsAddress[i] = rhs.GetAddress()[i];
for(int e=0;e<=itsLen2;e++)
itsDate[i] = rhs.GetDate()[i];
itsName[itsLen] = '\0';
itsAddress[itsLen1] = '\0';
itsDate[itsLen2] = '\0';
return *this;
}
void Student::Show()
{
cout <<"Shomara shenasai:"<<itsSs<<endl;
cout <<"Address:"<<itsAddress<<endl;
cout <<"DATE:"<<itsDate<<endl;
cout <<"Name:"<<itsName<<endl;
cout <<"Hours:"<<itsHours<<endl;
}
int main()
{
const int students = 1;
Student AllStudent[students + 1];
//you can compelete here with methods of Student class and Set things...
for(int i=0;i<students;i++)
AllStudent[i].Show();
return 0;
}
-
ممنون عزيز لطف كردين
خيلي وقته با سي پلاس پلاس كار نكردم يه كم فراموشم شده حالا كم كم راه مي افتم
مي رم تستش مي كنم مشكل داشتم بازم مزاحم مي شم
و اون يكي كلاسه ؟
-
خط 63 مشکل داره:
main.cpp: In member function `Student& Student::operator=(Student)':
main.cpp:63: name lookup of `i' changed for new ISO `for' scoping
main.cpp:60: using obsolete binding at `i'
make.exe: *** [main.o] Error 1
Execution terminated
-
منظورت از خط 63 كدومه من كه مشكل نداشتم
mahdi7s اون يكي كلاس رو شما ننوشتي