분류 전체보기(227)
-
template class list
c++ 내의 list 기능을 직접 템플릿 클래스를 이용하여 구현해 보았다. C++ 에서는 struct 와 clss 는 기본적인 접근자 지정자가 각각 public,private라는 차이점이 있지만 작동방식이 거의 일치한다고 한다. 그러므로 나는 비교적 간단한 구조는 struct 를 이용하고 복잡한 구조는 class 로 구현하였다. 먼저 탬플릿은 클래스에 사용자가 원하는 자료형을 넣어서 클래스를 생성해준다. 그러므로 각각의 원하는 자료형의 클래스를 만들지 않아도 탬플릿을 만들면 어떠한 자료형이라도 그에 맞는 클래스를 손쉽게 생성할 수 있다. 그러므로 탬플릿의 경우 자료형에 따라 생성하므로 헤더파일에 구현하는데 헤더파일에 구성해야 자신이 지정한 자료형을 확인하고 클래스를 생성할 수 있다. CList 클래스의 ..
2022.12.09 -
참조자 &
C 언어에서는 어떠한 변수를 가리키고 싶을 땐 반드시 포인터를 사용해야만 했지만 C++에서는 다른 변수나 상수를 가리키는 방법으로 또 다른 방식을 제공하는데, 이를 바로 참조자(레퍼런스- reference)라고 한다. 참조자를 통해서 함수를 실행하면서 참조자를 이용하여 a의 값을 수정할 수 있다. 레퍼런스 특징 레퍼런스는 반드시 처음에 누구의 별명이 될 것인지 지정해야 한다. 레퍼런스가 한 번 별명이 되면 절대로 다른 이의 별명이 될 수 없다. 레퍼런스는 메모리 상에 존재하지 않을 수 도 있다.
2022.12.08 -
class(3)
오늘은 간다한 클래스를 만들었다. private 에는 년, 월 ,일을 정의하여 외부에서 접근이 불가능하게 설정했다. 클래스 호출함수로는 날짜 출력, 몇일이 지난지 대입받고 날짜를 계산했다. 계산함수는 private칸에 있어서 외부에서 접근이 불가능하게 설정했다. 그후에는 연산자 오버로딩을 통해서 + 연산자를 만들었다. 만약에 리턴값을 자기자신으로 하면 계속해서 연산이 가능하다.
2022.12.07 -
오늘
옆에 달력이 있는데 어떤의미인지 몰랐는데 블로그에 글을 쓰면 기록이 되는 용도였다. 오늘부터 매일매일 블로그 포스팅을 해보자
2022.12.06 -
class(2)
이번에는 가변배열을 클래스로 구현해 보았다. 먼저 헤더파일에 클래스를 선언하였다. 그 이후에는 가변배열과 동일하게 구조를 설정하였다. 하지만 int* arr =new int[length]; 이여야 하지만 int* arr =new int(length) 로 잘못 적어나서 계속해서 오류가 발생했었다. int(length) 가 붙는것이 문법 오류가 되지않아서 찾는데 오랜시간이 걸렸다. 그 이후에는 배열이 의도대로 생성되지 않아서 힙버퍼가 발생해서 문제가 발생하였다. 다음부터는 조심해서 코드를 작성하자! 그리고 new[] 는 메모르해제할때 delete[] 를 사용해야한다.
2022.12.06 -
class (1)
class 선언방법 struct 구조와 유사하다. 접근 제한 지정자 private : 사적이다라는 개념으로 class 내부에서 접근이 가능하다. protect : 상속 개념을 배우고 다시 한번 정리예정이다. public : 누구에게나 공개되어서 어디서나 접근이 가능하다. m_i 는 private 이기때문에 class 외부에서 호출할 수 없다. SetInt 는 public 이므로 class 외부에서 호출할 수 있다. 위와같이 public 함수를 통해서 class 내부의 private m_i값을 수정할 수 있다. 생성자, 소멸자 객체 생성, 소멸 시 자동으로 호출 직접 만들지 않으면 기본 생성자, 기본 소멸자가 만들어짐 생성자 선언, 소멸자 선언 생성자를 선언할때는 class 의 이름을 그대로 선언해주면 된..
2022.12.06