Code:
Khi mình loại bỏ 2 dòng 18 và 44 (co chu thich) thì run tốt. Thế nên lỗi đã xuất hiện ở đây, mình đã thử mọi cách nhưng vẫn ko sửa được. Nhờ vào các bạn vậy! Cảm ơn... [CODE]#include<iostream.h> #include<conio.h> #include<iomanip.h> class Toado2D { private: int x; int y; Toado2D *next; public: Toado2D() { x = 0; y = 0; next = NULL; } ~Toado2D() { delete next; } void Laynext(Toado2D *M); //dong 18 int operator<=(Toado2D *M); int operator=(Toado2D *M); int operator>(Toado2D *M); friend istream &operator>>(istream &s, Toado2D *M); friend ostream &operator<<(ostream &s, Toado2D *M); }; Toado2D *first, *last, *p; void Toado2D::Laynext(Toado2D *M) { this->next = p; } void NhapToaDo() { char c; do { p = new Toado2D; cin>>p; if(first = NULL) { first = p; last = p; } else { last->Laynext(p); //dong 44 last = p; } cout<<"Ban co muon nhap tiep khong? (c/k)"; c = getch(); }while(c!='k'); } istream &operator>>(istream &s, Toado2D *M) { cout<<"Nhap toa do (x, y): "; s>>M->x>>M->y; return s; } ostream &operator<<(ostream &s, Toado2D *M) { cout<<"Toa do da nhap \n"; s<<"("<<M->x<<","<<M->y<<")"<<endl; return s; } int Toado2D::operator<=(Toado2D *M) { if(this->x <= M->x && this->y <= M->y) return 1; else return 0; } /*int Toado2D::operator=(Toado2D *M) { if(this->x = M->x && this->y = M->y) return 1; else return 0; } */ int Toado2D::operator>(Toado2D *M) { if(this->x > M->x && this->y > M->y) return 1; else return 0; } void Doi(Toado2D *&M, Toado2D *&N) { Toado2D *temp; temp = M; M = N; N = temp; } main() { first = NULL; last = NULL; NhapToaDo(); getch(); }
Comment