کلاس اشکال هندسی با استفاده از شی گرایی/HELP
سلام دوستان برنامه ای هست که گیر کردم روش ، در مورد اشکال هندسی و شی گرایی یه کلاس پایه برای کل اشکال داره-بعد 2تا کلاس واسه اشکال چند ضلعی و بدون ضلع داره که هر کدوم جدا باید تعریف بشه
[LEFT]تا اینجا کلاس پایه و کلاس چند ضلعی و مربع هست. روی دایره و لوزی و ذوزنقه و کلاس پایه بدون ضلع گیر کردم [CODE]#include #include class shap { protected: float calculates() {cout
نقل قول: کلاس اشکال هندسی با استفاده از شی گرایی/HELP
[QUOTE=mra_chavoshi;2037816]سلام دوستان برنامه ای هست که گیر کردم روش ، در مورد اشکال هندسی و شی گرایی یه کلاس پایه برای کل اشکال داره-بعد 2تا کلاس واسه اشکال چند ضلعی و بدون ضلع داره که هر کدوم جدا باید تعریف بشه
تا اینجا کلاس پایه و کلاس چند ضلعی و مربع هست. روی دایره و لوزی و ذوزنقه و کلاس پایه بدون ضلع گیر کردم
#include<stdio.h>
#include<string.h>
class shap {
protected:
float calculates() {cout<< "this is a s";}
float calculkatep() {cout<< "this is a p;}
};
class polyggon: public shap {
protected :
int num;
polyggon (int i, char*s){num=i;cout<<"s";}
};
class non_polyggon: public shap {
public:
};
class square: public p {
public:
square (int i):polyggon (i,"this is a square"){}
float calculatep(){p=num*4;};
float calculates(s=num*num;};
};
class Trapezoid: public p {
public:
};
class sircle : public np {
public:
};
class oval : public np {
public:
};
void main() {
squae s(5);
cout.calculatep();
}
نقل قول: کلاس اشکال هندسی با استفاده از شی گرایی/HELP
مثلا وی مربع فقط یک ضلع نیاز بود. اما ذوزنقه کلی ورودی داره. از اون کلاسی که ارث میبره و خودش چطور باید این تغییر کنه که 5 6 تا ورودی بتونه بگیره
نقل قول: کلاس اشکال هندسی با استفاده از شی گرایی/HELP
نقل قول: کلاس اشکال هندسی با استفاده از شی گرایی/HELP
خب این p ,np این چی هستن ؟
میتونی وقتی که inherit کردی برای گرفتن ورودی بیشتر constructor رو عوض کنی .
یا مثلا برای n ضلعی از variadic template استفاده کنی.
ضمنا کد رو بزار داخل تگ C++ که قابل خوندن باشه .
نقل قول: کلاس اشکال هندسی با استفاده از شی گرایی/HELP
در ضمن توی C++ ما void main نداریم درستش int main هستش
نقل قول: کلاس اشکال هندسی با استفاده از شی گرایی/HELP
p همون polyggon و np هم non_Polyggon که اشکال با ضلع و بدون ضلع هستن
این variadic template که گفتیه نگفته به ما
همین استفاده از کانستراکتور مشکل اصلیه
من زیاد برنامه نویسی حالیم نمیشه- اما همینو فردا میخواد سر امتحان بده
نقل قول: کلاس اشکال هندسی با استفاده از شی گرایی/HELP
نقل قول: کلاس اشکال هندسی با استفاده از شی گرایی/HELP
نقل قول:
نوشته شده توسط
mra_chavoshi
p همون polyggon و np هم non_Polyggon که اشکال با ضلع و بدون ضلع هستن
این variadic template که گفتیه نگفته به ما
همین استفاده از کانستراکتور مشکل اصلیه
من زیاد برنامه نویسی حالیم نمیشه- اما همینو فردا میخواد سر امتحان بده
خب به نظرت کامپایلر میتوننه ذهن آدما رو بخونه بعد تشخیص بده p همون polyggon هستش ؟!
من نمی فهمم این چه جور کدیه توی نوتپد نوشته شده ؟
این یک مثال ساده که کار هم می کنه :
#include <iostream>
using namespace std;
class shape {
protected:
virtual float calculates()=0;
virtual float calculatep()=0;
};
class polyggon: public shape {
protected :
int num;
polyggon (int i, char*s){num=i;cout<<s;}
};
class non_polyggon: public shape {
public:
};
class square: public polyggon {
public:
square (int i):polyggon (i,"this is a square"){}
float calculatep(){return num*4;}
float calculates(){return num*num;}
};
class circle : public non_polyggon {
public:
int r;
circle(int R):R(r)
{}
float calculatep(){return 2*r*3.14;}
float calculates(){return r*r*3.14;}
};
int main() {
square s(5);
cout<<s.calculatep();
}
نقل قول: کلاس اشکال هندسی با استفاده از شی گرایی/HELP
آره توی نود پد نوشتم.. کلا به کامپایلر نمیرسه مهم مفهوم شی گراییه
الان شما کلاس دایره رو خوب نوشتی ولی کلاس پایه ی دایره رو تعریف نکردی که فکر کنم اینطوری میشه
class non_polyggon: public shape {
protected:
int r;
public:
non_polyggon (int R, char*s){r=R,cout<<s;}
};
نقل قول: کلاس اشکال هندسی با استفاده از شی گرایی/HELP
هم مربع هم دایره یه متغیر میخواد
ولی مثلا لوزی 2تا میخواد که یکی افقی یکی عمودی
یا ذوزنقه که قراره سر امتحان بده 5 یا 6 تا متغیر میخواد
کلاس پایه ی اینا باید ثابت باشه. یعنی الان اگه برای ذوزنقه کلاس بنویسمو از کلاس پولیگون بهش ارث بدم متغیر کم میاره یا اصن نمیدونم چی میشه واقعا
نقل قول: کلاس اشکال هندسی با استفاده از شی گرایی/HELP
والا من که نفهمیدم چی گفتی
لوزی خودش زیر مجموعه متوازی الاضلاع میشه
چند ضلعی میتونه یک vector یا یک آرایه از اضلاع به عنوان ورودی می گیره .
مشکل الان چیه ؟
نقل قول: کلاس اشکال هندسی با استفاده از شی گرایی/HELP
الان مشکل اینه که کلا بفیشو نمیدونم چی بنویسم
برای ذوزنقه و لوزی رو