[c++] 헤더 파일 cpp파일 분리

ZERO WATER·2021년 10월 2일
0

명품 c++ 3장 12번 문제

visual studio code로 작성하는 나는
헤더파일과 cpp 파일을 구분하니까
컴파일러로 작동이 안됐다.

그래서 구글링 해본 결과

g++ -o exec main.cpp Ram.cpp

이 명령어 치니까 이렇게 만들어졌다!

그래서 실행 되었다.

소스 코드는
ram.h

class Ram {
    char mem[100 * 1024]; 
    int size;
public:
    Ram(); 
    ~Ram(); 
    char read(int address);   
    void write(int address, char value); 
};

ram.cpp

#include<iostream>
#include<memory.h>
using namespace std;
 
#include "Ram.h"
 
Ram::Ram(){
    size = 100 * 1024;
    for (int i = 0; i < size; ++i)
        mem[i] = 0;
}
Ram::~Ram(){
    cout << "메모리 제거됨";
}
char Ram::read(int address){
    return mem[address];
}
void Ram::write(int address, char value){
    mem[address] = value;
}

main.cpp

#include<iostream>
using namespace std;
 
#include "Ram.h"
 
int main() {
    Ram ram;
    ram.write(100, 20); // 100 번지에 20 저장 
    ram.write(101, 30); // 101 번지에 30 저장 
    char res = ram.read(100) + ram.read(101); // 20 + 30 = 50
    ram.write(102, res); // 102 번지에 50 저장 
    cout << "102 번지의 값 = " << (int)ram.read(102) << endl; // 102 번지 값 출력 
}

// g++ -o exec main.cpp Ram.cpp
profile
백엔드 개발자가 되고싶습니다.

0개의 댓글