constructor một biến truyền vào của bạn đâu !
constructor
Truyền vàodiem(int xx,int yy)
{
x=xx;y=yy;
}
dim=x;
p=new diem[dim]
lỗi của dòng trên như sau:Code:class diem { public: int x; int y; diem(int xx,int yy) { x=xx;y=yy; } friend istream & operator>>(istream &is,diem &a); }; istream & operator >>(istream &is,diem &a) { cout<<"x="; cin>>a.x; cout<<"\n"<<"y="; cin>>a.y; return is; } class dagiac { int dim; diem *p; public: dagiac(int x) { dim=x; p=new diem[dim]//dòng này nó báo lỗi } friend istream & operator>>(istream &is,dagiac &a); }; istream &operator>>(istream &is,dagiac &a) { for(int i=0;i<a.dim;i++) { cout<<"Diem thu"<<i<<"\n"; cin<<a.p[i]; } return is; }
Mình muốn cấp phát động tọa độ của đa giác là tập hợp các điểm như trên ko dc các bạn có thể giúp mình ko?Code:error C2512: 'diem' : no appropriate default constructor available
constructor một biến truyền vào của bạn đâu !
constructor
Truyền vàodiem(int xx,int yy)
{
x=xx;y=yy;
}
dim=x;
p=new diem[dim]
Đã được chỉnh sửa lần cuối bởi vtien_uit : 15-05-2008 lúc 09:08 AM.
Bạn có thể nói rõ hơn dc ko mình ko hiểu cho lắm.Mình mún cấp phát động mà mỗi phần tử cấp phát là 1 class thì phải làm sao
Câu trả lời của bạn cho thấy bạn chưa lắm rõ về class trong hướng đối tượng . Trước khi hỏi tiếp bạn nên đọc kỹ các bài về các ván đề class, kế thừa, constructor ở trong các bài viết trong diễn đàn này rồi làm lại bài trên và mọi người sẽ giúp bạn từng bước !!
Mình sai chỗ nào mà bạn cũng giải thích không đưoc à.Mình nghĩ đó chỉ là 1 vấn đề nhỏ là mình hỏi mình mún cấp phát động mà mỗi phần tử là 1 class(có thể thực thi không nếu có thì làm thế nào),hình như bạn không hiểu mình hỏi gì thì phải!
bạn thêm cái phương thức thiết lập (constructor) mặc định vào
bình thường khi trong class ko cài constructor, C++ sẽ tự cài cho nó cái default constructor như trên,nhưng khi bạn cài constructor thì bạn phải thêm default constructor vào,để dành khi bạn tạo biến class thường thì máy có mà xàiCode:diem(){}
Đã được chỉnh sửa lần cuối bởi abetterday : 15-05-2008 lúc 10:48 AM.
mù english+ngu thuật toán+lười--->làm sao trở thành kỹ sư phần mềm![]()
![]()
thank Tiến!!,thank tất cả mình hỉu òi!sorry-->ga`
Viết thêm destructor luôn đi cậu !! Code có new thì dùng delete đi kèm !
ban mún cấp phát mà mỗi phần tử là một class điểm thig trong class tam giác bạn phải khai báo một biến int sdiem rôi viết :
p=new diem[sodiem]