Coder Island
close
프로필 배경
프로필 로고

Coder Island

  • 분류 전체보기 (109)
    • 로스트아크 (1)
    • C++ (52)
      • 자료형 (1)
      • 입출력 (1)
      • 연산자 (1)
      • 조건문 (1)
      • 반복문 (1)
      • 함수 (1)
      • 포인터 (1)
      • 템플릿과 제네릭 (1)
      • 객체지향 (4)
      • STL (31)
      • 자료구조 (2)
      • 알고리즘 (1)
    • 게임개발 (14)
      • 언리얼엔진 (1)
      • 유니티 (12)
      • 게임이론 (1)
    • 백준 (26)
    • 프로젝트 (5)
      • 모바일프로그래밍 (1)
      • 웹프로그래밍 (2)
      • 임베디드 (1)
      • 데이터베이스 (1)
    • 일기장 (9)
      • 알바 (3)
      • 책 (1)
    [STL] 클래스 타입 변환 연산자 오버로딩

    [STL] 클래스 타입 변환 연산자 오버로딩

    클래스 타입 변환 연산자타입 변환 연산자 오버로딩을 통해 자기 자신의 타입을 다른 타입으로 변환소스코드#include using namespace std;class Point { int x; int y;public: explicit Point(int _x = 0, int _y = 0) : x(_x), y(_y) {} void Print() const { cout 코드 내용Point형 pt를 생성자 매개변수 2,3을 전달하여 생성.int형 n에 pt를 넣으면 타입변환 오버로딩 함수가 호출되어 this.pt의 x값만 반환되며 n에 들어가게됨.그 결과 n에는 pt의 2값이 들어갈 수 있어 결과적으로 2가 출력.실행 결과

    • format_list_bulleted C++/STL
    • · 2025. 2. 9.
    • textsms
    [STL] 타입 변환 연산자 오버로딩

    [STL] 타입 변환 연산자 오버로딩

    타입 변환 연산자 오버로딩클래스에 각기 다른 타입으로 생성자를 오버로딩 하는 방식소스코드#include using namespace std;class A {};class B {public: /*B() { cout 코드 내용A 클래스 타입 a, int형 n, double형 d를 그리고 B클래스타입 b 총 4개를 미리 정의b에 각각 a, n, d에 대한 생성자로 할당해줌.B클래스에 있는 오버로딩된 생성자들을 통해 특정 타입을 인자로 받는 생성자 호출을 통한 타입 변환(객체 생성 후 대입)이 가능해짐!실행 결과

    • format_list_bulleted C++/STL
    • · 2025. 2. 9.
    • textsms
    [STL] 스마트 포인터

    [STL] 스마트 포인터

    스마트 포인터C++에서 동적 메모리 할당과 누수를 관리하는 도구소스코드#include using namespace std;class Point { int x; int y;public: Point(int _x = 0, int _y = 0) : x(_x), y(_y) {} void print() const { cout () const { return ptr; } Point& operator*() const { return *ptr; }};void main() { Point* p1 = new Point(2, 3); //PointPtr은 스택 메모리에, Point는 힙 메모리에 적재됨! PointPtr p2 = new Point(5, 5); p1->print(); //p1->print() 호출 (*p1)...

    • format_list_bulleted C++/STL
    • · 2025. 2. 9.
    • textsms
    [STL] 배열 인덱스 연산자 오버로딩

    [STL] 배열 인덱스 연산자 오버로딩

    클래스에 배열 인덱스를 적용시키게 하는 연산자 소스코드#include using namespace std;class Array { int* arr; int size; int capacity;public: //기본 생성자 cap매개변수 100을 받고 capacity를 100으로 초기화하여 arr크기를 100칸 할당하여 arr에 넣는다. Array(int cap = 100) : arr(0), size(0), capacity(cap) { arr = new int[capacity]; //arr[100] } ~Array() { delete[] arr; //동적 할당 해제 } void Add(int data) { if (size 코드내용1. Main함수에서 Array클래스 ar을 매개변수 10을 전달하여 10..

    • format_list_bulleted C++/STL
    • · 2025. 2. 9.
    • textsms
    [STL] 함수 호출 연산자 오버로딩

    [STL] 함수 호출 연산자 오버로딩

    함수 호출 연산자 오버로딩( ()연산자 )객체를 함수처럼 동작하게 하는 연산자 소스코드#include using namespace std;struct FuncObject {public: void operator()(int arg) const { cout 코드 내용main함수 내 함수호출에 매개변수 갯수에 따라 오버로딩 하는 함수가 달라지는 것.암시적 호출은 함수를 간접적으로 호출하는 것이고명시적 호출은 함수를 직접적으로 호출하는 것이라 보면됨. 결과

    • format_list_bulleted C++/STL
    • · 2025. 2. 9.
    • textsms

    [백준] 1406번 - 에디터 C++

    문제한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다.이 편집기에는 '커서'라는 것이 있는데, 커서는 문장의 맨 앞(첫 번째 문자의 왼쪽), 문장의 맨 뒤(마지막 문자의 오른쪽), 또는 문장 중간 임의의 곳(모든 연속된 두 문자 사이)에 위치할 수 있다. 즉 길이가 L인 문자열이 현재 편집기에 입력되어 있으면, 커서가 위치할 수 있는 곳은 L+1가지 경우가 있다.이 편집기가 지원하는 명령어는 다음과 같다.L : 커서를 왼쪽으로 한 칸 옮김 (커서가 문장의 맨 앞이면 무시됨)D : 커서를 오른쪽으로 한 칸 옮김 (커서가 문장의 맨 뒤이면 무시됨)B : 커서 왼쪽에 있는 문자를 삭제함 (커서가 문장의 맨 앞이면 무..

    • format_list_bulleted 백준
    • · 2024. 11. 23.
    • textsms
    [백준] 3190번 - 뱀 C++

    [백준] 3190번 - 뱀 C++

    문제'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다.게임은 NxN 정사각 보드위에서 진행되고, 몇몇 칸에는 사과가 놓여져 있다. 보드의 상하좌우 끝에 벽이 있다. 게임이 시작할때 뱀은 맨위 맨좌측에 위치하고 뱀의 길이는 1 이다. 뱀은 처음에 오른쪽을 향한다.뱀은 매 초마다 이동을 하는데 다음과 같은 규칙을 따른다. - 먼저 뱀은 몸길이를 늘려 머리를 다음칸에 위치시킨다. - 만약 벽이나 자기자신의 몸과 부딪히면 게임이 끝난다. - 만약 이동한 칸에 사과가 있다면, 그 칸에 있던 사과가 없어지고 꼬리는 움직이지 않는다. - 만약 이동한 칸에 사과가 없다면, 몸길이를 ..

    • format_list_bulleted 카테고리 없음
    • · 2024. 11. 19.
    • textsms
    [백준] 18258번 - 큐2 C++

    [백준] 18258번 - 큐2 C++

    문제정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.명령은 총 여섯 가지이다.push X: 정수 X를 큐에 넣는 연산이다.pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.size: 큐에 들어있는 정수의 개수를 출력한다.empty: 큐가 비어있으면 1, 아니면 0을 출력한다.front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.입력첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의..

    • format_list_bulleted 백준
    • · 2024. 11. 18.
    • textsms
    [백준] 1966번 - 프린터 큐 C++

    [백준] 1966번 - 프린터 큐 C++

    문제여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다.여러 개의 문서가 쌓인다면 Queue 자료구조에 쌓여서 FIFO - First In First Out - 에 따라 인쇄가 되게 된다. 하지만 상근이는 새로운 프린터기 내부 소프트웨어를 개발하였는데, 이 프린터기는 다음과 같은 조건에 따라 인쇄를 하게 된다.1. 현재 Queue의 가장 앞에 있는 문서의 ‘중요도’를 확인한다.2. 나머지 문서들 중 현재 문서보다 중요도가 높은 문서가 하나라도 있다면, 이 문서를 인쇄하지 않고 Queue의 가장 뒤에 재배치 한다. 그렇지 않다면 바로 인쇄를 한다.예를 들어 Queue에 4개의 문서(A B C D)가 있고, 중요도가 2..

    • format_list_bulleted 백준
    • · 2024. 11. 12.
    • textsms
    • navigate_before
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • navigate_next
    공지사항
    전체 카테고리
    • 분류 전체보기 (109)
      • 로스트아크 (1)
      • C++ (52)
        • 자료형 (1)
        • 입출력 (1)
        • 연산자 (1)
        • 조건문 (1)
        • 반복문 (1)
        • 함수 (1)
        • 포인터 (1)
        • 템플릿과 제네릭 (1)
        • 객체지향 (4)
        • STL (31)
        • 자료구조 (2)
        • 알고리즘 (1)
      • 게임개발 (14)
        • 언리얼엔진 (1)
        • 유니티 (12)
        • 게임이론 (1)
      • 백준 (26)
      • 프로젝트 (5)
        • 모바일프로그래밍 (1)
        • 웹프로그래밍 (2)
        • 임베디드 (1)
        • 데이터베이스 (1)
      • 일기장 (9)
        • 알바 (3)
        • 책 (1)
    최근 글
    인기 글
    최근 댓글
    태그
    • #백준
    • #unity
    • #문제풀이
    • #stl
    • #독학
    • #c++
    • #게임개발
    • #프로젝트
    • #함수포인터
    • #유니티
    전체 방문자
    오늘
    어제
    전체
    Copyright © 쭈미로운 생활 All rights reserved.
    Designed by JJuum

    티스토리툴바