분류 전체보기 212

C++ 상속

상속(inheritance)이란? “일정한 친족적 관계가 있는 사람 사이에 한 쪽이 사망하거나 법률상의 원인이 발생하였을 때 재산적 또는 친족적 권리와 의무를 계승하는 제도” 라고 네이버 사전에 정의되어 있다. 부모님이 돌아가시면 부모님의 재산을 모두 물려받게 됨. 그런데 이 상속이 C++에서도 존재함. 예를 들어서 설명해보자. 사람이란 클래스, 학생이란 클래스가 있다고 가정 사람이란 클래스 내에는 이름, 나이, 취미 등과 같은 속성과 함께, 일어나기, 잠자기, 먹기, 공부하기 등 행동이 정의되어 있음. 학생이란 클래스 내에는 마찬가지로 이름, 나이, 취미, 소속, 학교와 같은 속성, 잠자기, 먹기, 공부하기 등과 같은 행동으로 정의되어 있음. 그런데, 학생도 역시 사람이란 부류에 속하므로 학생은 사람에..

C++/C++ 상속 2024.01.24

ex02(비교, 산술, 증감 연산자 오버로딩)

이 문제는 비교, 산술, 증감 연산자를 오버로딩 해보는 문제이다. 연산자 오버로딩 → 간단하게 말해서 우리가 알고 있는 +, -, *, / 에서부터 ++, --, [], ==, =등 다양한 연산자들을 우리가 재정의해서 사용할 수 있게 해주는 방법. 아 근데 이 짓을 왜 해야되냐? 컴파일러는 우리가 만든 객체의 연산을 이애하지 못함. 우리가 객체를 만들고, 그 값들을 사용하는데 기본적인 연산자를 사용하지 못 하면 오바이긴 하니,, 우리가 만든 객체들의 연산자들의 정의를 우리가 직접 정의해서 객체끼리의 연산을 가능하도록 만든 거임. 연산자 오버로딩의 제한 → 오버로딩이 가능한 연산자가 있고 불가능한 연산자들이 있다. 이유는 기본적인 C++의 문법이 어긋날 수 있기 때문 Fixed.hpp #ifndef FIX..

ex01(>>, << 쉬프트 연산, 입출력 연산자 오버로딩)

밑에 부분을 보기 전 공부해야할 1. 이진 기수법 https://wo-dbs.tistory.com/141 이진 기수법(이진법) 컴퓨터는 0과 1로 이루어진 기계어를 사용한다. 우리 사람은 수를 표현할 때 10진법을 사용한다 → 10진법은 0, 1, 2, 3, 4, 5, 6, 7, 8, 9을 말함. 컴퓨터는 0과 1인 이진법으로 수를 저장하게 된다. → 이 wo-dbs.tistory.com 2. 고정소수점과 부동소수점 https://wo-dbs.tistory.com/142 이진 기수법을 통한 고정 소수점과 부동 소수점 이 글은 이 분의 블로그 통해 공부한 글입니다. 이진 기수법을 통한 고정 소수점(Fixed Point) 와 부동 소수점(Floating Point) 이진 기수법을 통한 고정 소수점(Fixed..

이진 기수법을 통한 고정 소수점과 부동 소수점

이 글은 이 분의 블로그 통해 공부한 글입니다. 이진 기수법을 통한 고정 소수점(Fixed Point) 와 부동 소수점(Floating Point) 이진 기수법을 통한 고정 소수점(Fixed Point) 와 부동 소수점(Floating Point) 이 글은 제가 공부하기 위해 여러 사전이나, 책, 그리고 다른 개발자 분의 내용을 타이핑하여 학습한 내용이므로, 이 원본은 출처를 꼭 남깁니다. 원래내용과 살짝 다를 수 있는 점 양해바랍니다 daldalhanstory.tistory.com 이진 기수법(이진법에 대한 내용을 좀 더 자세하게 알고 싶으면 나의 블로그 밑 부분의 개념을 보고 오자 https://wo-dbs.tistory.com/141 이진 기수법(이진법) 컴퓨터는 0과 1로 이루어진 기계어를 사용한..

CS 2024.01.24

이진 기수법(이진법)

컴퓨터는 0과 1로 이루어진 기계어를 사용한다. 우리 사람은 수를 표현할 때 10진법을 사용한다 → 10진법은 0, 1, 2, 3, 4, 5, 6, 7, 8, 9을 말함. 컴퓨터는 0과 1인 이진법으로 수를 저장하게 된다. → 이제 우리가 공부해야할 건 10진법으로 나타낸 수를 이진법으로 어떻게 나타내냐와 반대로 이진법을 10진법으로 나타내는 방법을 알아야한다. 방법을 알기전 비트와 바이트에 대해 알아가보자. 비트(Bit) 비트는 이진수 체계에서 가장 작은 단위로, 0 또는 1의 값을 나타낸다. 컴퓨터는 모든 데이터를 0과 1의 조합으로 표현하며, 이 때 각 0 또는 1을 하나의 비트로 간주한다. 정보를 표현하는 데 있어서 가장 기본적인 단위이기 때문에 컴퓨터와 디지털 통신에서 중요한 역할을 함. 바이트..

CS 2024.01.24

>>, << 쉬프트 연산 C++

쉬프트 연산에 대해서 공부해보자 숫자 5를 2진수로 나타내면(8bit) 이제 5에다가 2를 곱해보자 5 * 2 = 10; → 여기서 알 수 있음. 1이 있는 비트들이 왼쪽으로 한칸씩 이동하는 것 즉 2를 곱할 때마다 한자리씩 높아짐 이 원래 어디서 많이 봤는데 ? → 2^0, 2^1, 2^2, 2^3, 2^4 … 자리 그대로가 이렇게 올라가는 거 쉬프트 연산으로 10을 만들어보자 #include int main() { int a = 5; a = a 쉬프트 연산( > ) 음 보통 알고리즘 문제 풀거나 계산을 많이 하는 과정에서 *2를 하거나 /2를 하는 계산이 꽤나 많이 있는데....(2의 n승 전부)보통은 a *= 2, 또는 a /= 2 이런식으로 곱하기 나누기를 하지만 사실은 그 hahahia.tist..

CS 2023.12.02