C++ Programming Ch.3 Exercise 12 Solution
Problem: ์ปดํจํฐ์ ์ฃผ๊ธฐ์ต์ฅ์น๋ฅผ ๋ชจ๋ธ๋งํ๋ ํด๋์ค์ Ram์ ๊ตฌํํ๋ ค๊ณ ํ๋ค. Ram ํด๋์ค๋ ๋ฐ์ดํฐ๊ฐ ๊ธฐ๋ก๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ๊ณผ ํฌ๊ธฐ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ , ์ฃผ์ด์ง ์ฃผ์์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋กํ๊ณ (write), ์ฃผ์ด์ง ์ฃผ์๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด ์จ๋ค(read). Ram ํด๋์ค๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์ธ๋๋ค. 1 2 3 4 5 6 7 8 9 class Ram { char mem[100 * 1024]; // 100KB ๋ฉ๋ชจ๋ฆฌ. ํ ๋ฒ์ง๋ ํ ๋ฐ์ดํธ์ด๋ฏ๋ก char ํ์ ์ฌ์ฉ int size; public: Ram(); // mem ๋ฐฐ์ด์ 0์ผ๋ก ์ด๊ธฐํํ๊ณ size๋ฅผ 100*1024๋ก ์ด๊ธฐํ ~Ram(); // "๋ฉ๋ชจ๋ฆฌ ์ ๊ฑฐ๋จ" ๋ฌธ์์ด ์ถ๋ ฅ char read(int address); // address ์ฃผ์์ ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํธ ๋ฆฌํด void write(int address, char value); // address ์ฃผ์์ ํ ๋ฐ์ดํธ๋ก value ์ ์ฅ }; ๋ค์ main() ํจ์๋ 100 ๋ฒ์ง์ 20์ ์ ์ฅํ๊ณ , 101 ๋ฒ์ง์ 30์ ์ ์ฅํ ํ, 100 ๋ฒ์ง์ 101 ๋ฒ์ง์ ๊ฐ์ ์ฝ๊ณ ๋ํ์ฌ 102 ๋ฒ์ง์ ์ ์ฅํ๋ ์ฝ๋์ด๋ค. ...