<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>CPP on Sobamemil</title>
    <link>https://blog.sobamemil.com/tags/cpp/</link>
    <description>Recent content in CPP on Sobamemil</description>
    <generator>Hugo</generator>
    <language>ko</language>
    <lastBuildDate>Tue, 03 Mar 2020 19:03:06 +0900</lastBuildDate>
    <atom:link href="https://blog.sobamemil.com/tags/cpp/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>명품 C&#43;&#43; programming 실습 문제 3장 12번</title>
      <link>https://blog.sobamemil.com/posts/054-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-12%EB%B2%88/</link>
      <pubDate>Tue, 03 Mar 2020 19:03:06 +0900</pubDate>
      <guid>https://blog.sobamemil.com/posts/054-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-12%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;strong&gt;문제 :&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;컴퓨터의 주기억장치를 모델링하는 클래스의 Ram을 구현하려고 한다.&lt;/p&gt;
&lt;p&gt;Ram 클래스는 데이터가 기록될 메모리 공간과 크기 정보를 가지고, 주어진 주소에 데이터를 기록하고(write), 주어진 주소로부터 데이터를 읽어 온다(read).&lt;/p&gt;
&lt;p&gt;Ram 클래스는 다음과 같이 선언된다.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9&lt;/td&gt;
          &lt;td&gt;class Ram {  char mem[100 * 1024]; // 100KB 메모리. 한 번지는 한 바이트이므로 char 타입 사용  int size;  public:  Ram(); // mem 배열을 0으로 초기화하고 size를 100*1024로 초기화  ~Ram(); // &amp;ldquo;메모리 제거됨&amp;rdquo; 문자열 출력  char read(int address);    // address 주소의 메모리 바이트 리턴  void write(int address, char value); // address 주소에 한 바이트로 value 저장  };&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;다음 main() 함수는 100 번지에 20을 저장하고, 101 번지에 30을 저장한 후, 100 번지와 101 번지의 값을 읽고 더하여 102 번지에 저장하는 코드이다.&lt;/p&gt;</description>
    </item>
    <item>
      <title>명품 C&#43;&#43; programming 실습 문제 3장 11번</title>
      <link>https://blog.sobamemil.com/posts/053-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-11%EB%B2%88/</link>
      <pubDate>Tue, 03 Mar 2020 18:40:58 +0900</pubDate>
      <guid>https://blog.sobamemil.com/posts/053-%EB%AA%85%ED%92%88-c-programming-%EC%8B%A4%EC%8A%B5-%EB%AC%B8%EC%A0%9C-3%EC%9E%A5-11%EB%B2%88/</guid>
      <description>&lt;p&gt;&lt;strong&gt;문제 :&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;다음 코드에서 Box 클래스의 선언부와 구현부를 Box.h, Box.cpp 파일로 분리하고 main() 함수 부분을 main.cpp로 분리하여 전체 프로그램을 완성하라.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;/th&gt;
          &lt;th&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27&lt;/td&gt;
          &lt;td&gt;#include&lt;iostream&gt;  using namespace std;    class Box {  int width, height;  char fill;  public:  Box(int w, int h) { setSize(w, h); fill = &amp;lsquo;*&amp;rsquo;;}  void setFill(char f) {fill = f;}  void setSize(int w, int h) { width = w; height = h;}  void draw();  };  void Box::draw() {  for (int n = 0; n &amp;lt; height; n++) {  for (int m = 0; m &amp;lt; width; m++) cout &amp;laquo; fill;  cout &amp;laquo; endl;  }  }    int main() {  Box b(10, 2);  b.draw(); // 박스를 그린다.  cout &amp;laquo; endl;  b.setSize(7, 4); // 박스의 크기를 변경한다.  b.setFill(&amp;rsquo;^&amp;rsquo;); // 박스의 내부를 채울 문자를 &amp;lsquo;^&amp;lsquo;로 변경한다.  b.draw(); // 박스를 그린다.  }&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;목적 및 힌트 :&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
