顯示廣告
隱藏 ✕
看板 Knuckles
作者 Knuckles(阿德)
標題 物件導向--作業2
時間 2008年09月10日 Wed. PM 09:12:48


看完第13章後...

1. 繼續上個作業寫的Matrix類別

   加上多載運算子 = + - * ==
   使Matrix產生的物件 M1, M2, M3, M4
   可做以下的運算

   若 M1, M2 的大小相同
   M3 = M1 + M2
   M4 = M1 - M2

   cout << ((M1==M2) ? "M1==M2" : "M1!=M2") << endl;

   若 M1 為 i*k, M2 為 k*j 大小的矩陣
   M3 = M1 * M2

2. 把之前寫的BITMAP程式用物件導向的方法改寫
   使主程式可以像下面這樣寫:
     BITMAP bmp1; //產生一個BITMAP物件
     bmp1.LoadBmpFile("lena.bmp"); // 載入圖片
     int height= bmp1.GetHeight(); // 取得圖檔的高  
     int width = bmp1.GetWidth();  // 取得圖檔的寬

     BITMAP bmp2; //產生第二個BITMAP物件
     bmp2.Create(width,height,24); //建立一張24 bits per pixel的空白圖片

     int x,y;
     DWORD color;
     for(y=0;y<height;y++)
         for(x=0;x<width;x++){
              color = bmp1.GetPixel(x,height-y-1);
              bmp2.SetPixel(x,y,color);
         }
     cout << "將圖形做上下顛倒" << endl;
     
     bmp2.SaveBmpFile("lena2.bmp");
     cout << "已儲存新的影像,檔名為lena2.bmp" << endl;

--
※ 來源: 台大電信 DISP 實驗室 (http://disp.twbbs.org)
※ 作者: Knuckles  來自: 140.112.175.128  時間: 2008-09-10 21:12:48
※ 編輯: Knuckles  來自: 140.112.175.128  時間: 2008-09-10 23:37:10
※ 編輯: Knuckles  來自: 140.112.175.128  時間: 2008-09-11 01:16:49

Matrix 類別:(右鍵另存)
Matrix.h
Matrix.cpp
main.cpp

※ 編輯: Knuckles  來自: 140.112.175.128  時間: 2008-10-19 02:19:26
※ 編輯: Knuckles  來自: 140.112.175.130  時間: 2009-05-31 15:27:37
※ 編輯: Knuckles 時間: 2015-10-19 07:38:56
※ 看板: KnucklesNote 文章推薦值: 0 目前人氣: 0 累積人氣: 389 
※ 文章分類: 程式設計 C/C++
terrykyo 轉錄至看板 terrykyo 時間:2011-04-04 01:51:54
TL 轉錄至看板 TL (使用複製) 時間:2012-12-08 19:46:42
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇
看板名稱: 確定(Enter) 取消(Esc) 搜尋(Space)
查詢帳號: 確定(Enter) 取消(Esc) 搜尋(Space)
搜尋: m)m文 b)進板 c)未分類 a)作者 /)標題 q)取消?[q]

搜尋 送出(Enter) 取消(Esc)

回覆文章至: f)看板 m)作者信箱 b)兩者皆是 q)取消?[f]
要引用原文嗎? y)引用原文 n)不引用 a)全部回覆 r)複製原文 q)取消?[y]
轉錄本文章於看板: 1)使用連結 2)使用複製 q)取消 ?[1]
轉寄至站內信箱於使用者: 確定(Enter) 取消(Esc)
轉寄至站內信箱於使用者: 確定(Enter) 取消(Esc)
修改文章標題為: 確定(Enter) 取消(Esc)
修改文章標題為: 確定(Enter) 取消(Esc) 全部(a)

確定要刪除這篇文章?(可按大U救回) 確定(Enter) 取消(Esc)

刪除理由:

確定(Enter) 取消(Esc)
加到這個分類: 確定(Enter) 下一層(→) 回上層(←) 取消(Esc)
你覺得這篇文章: 1)真讚 2)真瞎 q)取消?[1] (再選一次即可收回)
你覺得這篇文章: 1)值得推薦 2)表示反對 3)單純註解 q)取消?[3]
guest
預覽(Enter) 取消(Esc)
上傳圖片
按ctrl+Enter可輸入下一行。
guest
確定要送出? 確定(Enter) 取消(Esc) 繼續(e)
搜尋: 送出(Enter) 取消(Esc)

▏▎▍▌▋▊▉ 請按任意鍵繼續