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] 1장 문제풀이

    1. 다음 이항 연산자 +가 호출하는 오버로딩 함수 두 개를 고르세요.Point p1, p2;p1+p2;operator+(p2,p1);p1.operator+(p2);operator+(p1,p2);p2.operator(p1);답: 2,31번이 안되는 이유: 매개변수의 순서가 p2가 먼저오기 때문에 p2+p1에 대해서 가능하므로 X4번 역시 this인 자기자신이 p2기 때문에 불가능 2. 다음 세 인자를 받는 () 연산자 오버로딩 함수 선언으로 맞는 것은?func(10, 20, 30);void operator()(void);void operator()(int);void operator()(int, int);void operator()(int,int,int);답: 4이유: 오버로딩은 함수이름이 같지만 전달받는..

    • format_list_bulleted C++/STL
    • · 2025. 2. 15.
    • textsms
    [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
    [STL] 연산자 오버로딩

    [STL] 연산자 오버로딩

    연산자 오버로딩C++에서 제공하는 클래스 타입(사용자 정의 타입)에도 연산자를 사용할 수 있게 하는 문법Example)기본타입 으로 쓰는 int형 X와Y를 더해서 Z에 값을 넣는Z = X + Y클래스타입 Point(int x,int y)인 P1과 P2를 각각 P1(1,1) P2(2,2)로 초기화 후 P3에 넣기P3 = P1 + P2Point 형이지만 위에 기본타입 처럼 연산자를 적용할 수 있게 하는 문법 덧셈 연산자 오버로딩 코드class point { int x; int y;public: point(int _x = 0, int _y = 0) : x(_x), y(_y) {} void print() const { cout x + arg.x; pt.y = this->y + arg.y; return pt;} ..

    • format_list_bulleted C++/STL
    • · 2025. 2. 8.
    • textsms
    [백준] C++ 2164번 - 카드2

    [백준] C++ 2164번 - 카드2

    문제N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다.이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그 다음, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮긴다.예를 들어 N=4인 경우를 생각해 보자. 카드는 제일 위에서부터 1234 의 순서로 놓여있다. 1을 버리면 234가 남는다. 여기서 2를 제일 아래로 옮기면 342가 된다. 3을 버리면 42가 되고, 4를 밑으로 옮기면 24가 된다. 마지막으로 2를 버리고 나면, 남는 카드는 4가 된다.N이 주어졌을 때, 제일 마지막에 남게 되는 카드를 구하는 프로그램을 ..

    • format_list_bulleted C++
    • · 2024. 11. 9.
    • textsms

    C언어로 쉽게 풀어쓴 자료구조 1장 연습문제 풀기

    1. 2개의 정수를 서로 교환하는 알고리즘을 의사 코드로 작성해보자.Swap(a, b) temp  2. 사용자로부터 받은 2개의 정수 중에서 더 큰 수를 찾는 알고리즘을 의사코드로 작성해보자.max(a,b) if a > b then return a; else return b; 3. 1부터 n까지의 합을 계산하는 알고리즘을 의사코드로 작성해보자.sum(a) return a(a+1)/2 4. Set(집합) 추상 자료형을 정의하라. 다음과 같은 연산자들을 포함시켜라.create: 집합을 생성insert: 집합에 원소추가remove: 집합에 원소제거is_in: 집합에 있는지 검사union: 두 집합의 합집합intersection: 두 집합의 교집합difference: 두 집합의 차집합 6...

    • format_list_bulleted C++
    • · 2024. 11. 9.
    • textsms
    • navigate_before
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 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)
    최근 글
    인기 글
    최근 댓글
    태그
    • #프로젝트
    • #c++
    • #게임개발
    • #백준
    • #독학
    • #문제풀이
    • #유니티
    • #stl
    • #unity
    • #함수포인터
    전체 방문자
    오늘
    어제
    전체
    Copyright © 쭈미로운 생활 All rights reserved.
    Designed by JJuum

    티스토리툴바