hiện tại đang thử chạy một số code về đồ họa, bỗng hôm nay mình viết xong code sau ui cho nó chạy, thế là bị lỗi: [Error] redefinition of 'int right' ko biết sửa ra sao, thử sửa như trên mạng chỉ
http://www.cplusplus.com/forum/general/59060
thì nó chạy như bị lỗi runtime T_T
code mình đây:
C++ Code:
  1. //lop do hoa
  2. //ham huy
  3. //toan tu gan - tra ve tham chieu
  4. //ham tao sao chep
  5. //trong ham huy co the goi phuong thuc khac
  6. #include <iostream>
  7. #include <conio.h>
  8. #include <graphics.h>
  9. #include <stdlib.h>
  10. #include <new>
  11. #include <mem.h>
  12.  
  13. using namespace std;
  14.  
  15. static void kiemtrabonho();
  16. void ktdh();
  17. int xmax, ymax;
  18. void kiemtrabonho()
  19. {
  20.     outtextxy(1,1,"Loi Bo Nho");
  21.     getch();
  22.     closegraph();
  23.     exit(1);
  24. }
  25. class HT
  26. {
  27.     private:
  28.         int r, m;
  29.         int xhien, yhien;
  30.         char *pht;
  31.         int hienmh;
  32.     public:
  33.         HT();
  34.         HT(int r1, int m1 = 15);
  35.         HT(const HT &h);
  36.         ~HT();
  37.         void hien(int x, int y);
  38.         void an();
  39.         const HT &operator = (const HT &h);
  40. };
  41. const HT & HT::operator = (const HT &h)
  42. {
  43. //  outtextxy(2,2,"gan");
  44. //  getch();
  45.     r = h.r;
  46.     m = h.m;
  47.     xhien = yhien = 0;
  48.     hienmh = 0;
  49.     if(h.pht == NULL)
  50.         pht = NULL;
  51.     else
  52.     {
  53.         int size;
  54.         size = imagesize(0,0,r+r,r+r);
  55.         pht = new char[size];
  56.         memcpy(pht, h.pht, size);
  57.     }
  58.     return h;
  59. }
  60. HT::HT(const HT &h)
  61. {
  62. //  outtextxy(300,1,"contructor sao chep");
  63. //  getch();
  64.     *this = h;
  65. }
  66. HT::HT()
  67. {
  68.     r = m = hienmh = 0;
  69.     xhien = yhien = 0;
  70.     pht = NULL;
  71. }
  72. HT::HT(int r1, int m1)
  73. {
  74.     r = r1; m = m1;
  75.     hienmh = 0;
  76.     xhien = yhien = 0;
  77.     if(r<0) r = 0;
  78.     if(r==0)
  79.     {
  80.         pht = NULL;
  81.     }
  82.     else
  83.     {
  84.         int size; char *pmh;
  85.         size = imagesize(0,0,r+r,r+r);
  86.         pmh = new char[size];
  87.         setcolor(m);
  88.         circle(r,r,r);
  89.         setfillstyle(1,m);
  90.         floodfill(r,r,m);
  91.         getimage(0,0,r+r,r+r,pht);
  92.         putimage(0,0,pmh,COPY_PUT);
  93.         delete pmh;
  94.         pmh = NULL;
  95.     }
  96. }
  97. void HT::hien(int x, int y)
  98. {
  99.     if(pht!=NULL && !hienmh)
  100.     {
  101.         hienmh = 1;
  102.         xhien = x;
  103.         yhien = y;
  104.         putimage(x,y,pht, XOR_PUT);
  105.     }
  106. }
  107. void HT::an()
  108. {
  109.     if(hienmh)
  110.     {
  111.         hienmh = 0;
  112.         putimage(xhien,yhien,pht, XOR_PUT);
  113.     }
  114. }
  115. HT::~HT()
  116. {
  117.     an();
  118.     if(pht!=NULL)
  119.     {
  120.         delete pht;
  121.         pht = NULL;
  122.     }
  123. }
  124. void ktdh()
  125. {
  126.     int mh = 0, mode = 0;
  127.     initgraph(&mh, &mode, "");
  128.     xmax=getmaxx();
  129.     ymax=getmaxy();
  130. }
  131. int main()
  132. {
  133.     _new_handler = kiemtrabonho;
  134.     ktdh();
  135.     HT *h=new HT(50,6);
  136.     h->hien(100,200);
  137.     HT k=*h;
  138.     k.hien(200,200);
  139.     HT v,u,t;
  140.     t=v=u=*h;
  141.     u.hien(300,200);
  142.     t.hien(400,200);
  143.     v.hien(500,200);
  144.     getch();
  145.     closegraph();
  146. }