반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 28 |
29 | 30 | 31 |
Tags
- 프리미어 영상저장
- QTcpServer
- meta table
- lua for windows
- 월세
- QT TCP
- 수도권주택공급
- lua setup
- 중소규모택지
- Lua
- 프리미어 영상변환
- TCP/IP
- file read
- 청량리역한양수자인192
- 찾다죽는줄
- #신혼부부 #결혼준비 #신혼부부희망타운신혼부부특별공급
- 엑스퍼트2주년
- object
- 국토교통부
- C API
- 엑스퍼트생일축하해
- file open
- 등록임대주택
- #부동산전자거래 #부동산전자계약 #부동산계약 #부동산전자계약방법 #부동산전자계약하는법 #부동산계약방법 #부동산중개수수료 #부동산중개수수료아끼기 #부동산복비아끼기
- file write
- 티몬삼겹살데이
- FILE TRANSFER
- C++ API
- lua interpreter
- lua install
Archives
- Today
- Total
Value Creator의 IT(프로그래밍 / 전자제품)
#6 [C++] 예제 : RAM 구현해보기 본문
반응형
RAM.h
#ifndef RAM_H
#define RAM_H
#include<iostream>
using namespace std;
class Ram
{
char mem[100 * 1024];// 100kb 메모리. 한 번지는 한바이트이므로 char 타입사용.
int size;
public :
Ram();
~Ram();
char read(int adress);
void write(int adress, char value);
};
#endif
헤더 파일은 위와 같이 주어진다.
기본생성자에서는 mem의 사이즈를 size로 변경해주고(동적할당)
소멸자에서는 소멸자가 작동하는지 유무 체크를 위한 문자를 넣으면 된다.
ex) "메모리 제거됨"
read에서는 말그대로 해당 주소를 읽어오는 것이며
write는 해당 주소의 mem에 값을 입력하는것이다.
Main문과 결과는 아래와 같다.
main.cpp
#include"Ram.h"
int main()
{
Ram ram;
ram.write(100, 20);
ram.write(101, 30);
char res = ram.read(100) + ram.read(101);
ram.write(102, res);
cout << "102 번지의 값 = " << (int)ram.read(102) << endl;
}
Ram.cpp
#include "Ram.h"
Ram::Ram()
{
size = 100 * 1024;
char *mem = new char[size];
}
Ram::~Ram()
{
cout << "메모리 제거됨" << endl;
}
char Ram::read(int adress)
{
return mem[adress];
}
void Ram::write(int adress, char value)
{
mem[adress] = value;
}
기본생성자에서 동적할당의 예제는 "char *변수이름 = new char[배열의 크기]"이다.
write에서는 해당 mem의 주소에 value를 넣는다.
반응형
'1. 프로그래밍 > 5) C++' 카테고리의 다른 글
argc, argv의 뜻은? (0) | 2019.10.28 |
---|---|
#7 [C++] 동적 메모리 할당 및 반환 (0) | 2019.08.02 |
#5 [C++] 예제 : 랜덤 정수 10개 생성 클래스 만들기 (0) | 2019.07.26 |
#4 [C++] 구조체, 객체 포인터, 객체 배열 (0) | 2019.07.26 |
#3 [C++] 생성자, 소멸자, 접근지정자 (0) | 2019.07.26 |
Comments