본문 바로가기
반응형

C++146

C++의 생성자, 문자열 초기화 C2664 오류시 해결!! C++에서 클래스를 생성하면 생성자가 자동으로 생깁니다. 여기서 생성자란!! 객체선언시 자동으로 실행되는 코드를 말합니다. #include using namespace std; class A { A() {}; //이런 코드가 원래 생기지만 보이지 않을 뿐!! }; int main(void) { return 0; } ​ Class를 선언하게 되면 해당 Class의 이름과 같은 함수가 생성되고 위와 같이 아무런 기능이 없이 생성되는 생성자를 '디폴트 생성자' 라고 합니다. 그리고 이 디폴트 생성자는 사용자가 아무런 기능을 넣지 않으면 코드 실행시 자동으로 생성되어 컴파일을 진행하게 됩니다. 즉, 생성자를 코드상으로 표현하지 않아도 컴파일 과정에서 자동으로 디폴트 생성자가 생성되는 것입니다. 생성자는 주로 초.. 2019. 2. 20.
C++ public, protected, private에 대한 설명 public = 어디서든 접근이 가능. protected = 상속관계일 때 접근이 가능 private = 해당 클래스에서만 접근이 가능 #include using namespace std; class A { public: int num1; A() : num1(5), num2(6), num3(7) {} protected: int num2; private: int num3; }; int main(void) { A a; cout 2019. 2. 19.
2019년 2월 18일 정리한 나의 생각 저는 17년도 18년도 2년간 놀았습니다. 그리고 결과는 처참했죠.... 자업자득입니다. 그!래!서! 이번 년도엔 알차게 준비하고자 합니다. 첫째. 난 무엇을 개발하고 싶은가?생각 또 생각하고 낸 결론은. 저는 C언어가 좋습니다. C++도 공부중에 있지만 재미있습니다.또한 OS에 구조에 대해 궁금한 것이 많고 어떤 식으로 돌아가는지 굉장히 관심이 많습니다.저는 무언가 만드는걸 좋아합니다. 어렸을때 장난감 조립하는걸 좋아했고 레고를 가지고 만드는걸 좋아했습니다. 좋아하는걸 생각해보고, 하고싶은걸 생각해보니 직업이 나오더군요. 시스템 프로그래머와 응용 프로그래머. windos를 쓰든 linux를 쓰든 상관없습니다. 구애받지 않고 개발할 수 있는 개발자가 되려고 합니다. 응용프로그램은 저희가 흔히 알 수 있는.. 2019. 2. 18.
c++ new의 사용법, malloc과의 차이(free, delete) ※컴퓨터의 메모리 구조를 알고 보시면 더 쉽게 이해할 수 있습니다. 메모리 구조 보러가기(클릭) 프로그램을 만들다 보면 상황에 따라 추가적인 메모리 공간을 실시간으로 확보해야 할 경우가 많습니다. 예를 들자면 채팅 대화방에 2명이 접속해 있는데 3명이 더 추가 접속을 했다거나 컴퓨터에 자료를 추가적으로 입력해 저장해야 하거나 등.... 여러가지 경우가 있습니다. 이것은 컴퓨터의 소프트웨어 사용시 변화가 유동적으로 일어나기 때문에 어찌보면 당연한 일이기도 합니다. 서론이 긴 이유는 제가 공부하고 배우면서 이 동적 메모리의 사용 이유를 제대로 파악하지 못한 채 배웠고 그로 인해 무엇이 중요한지도 제대로 모르고……. 답답한 느낌도 들고……. 무엇을 공부하거나 배울 때 목적이나 이유를 알고 지식을 습득하는 것이.. 2019. 1. 19.
객체, 인스턴스, 클래스 용어 정리!! ※클래스, 객체, 인스턴스, 인스턴스화는 분명 정의된 용어입니다. 얼추 보면 다 고만고만하고 비슷비슷해 보이지만 뜻하는 바는 다르다는걸 아시길 바랍니다!! 설명하기에 앞서 예시를 하나 보겠습니다. (직접 만들었습니다.....^^;;) 위 그림을 설명하자면.....;;; 쫄라맨이 과자를 만들 계획을 세우고 재료들을 구성하고 배합하여 과자를 만드는 과정입니다.!? 여기서 과자를 만들 계획을 세우고 어떤 재료가 들어갈지 틀을 구상하는 것이 클래스가 됩니다. 클래스를 기반으로 어떤 과자를 만들지 결정하는 단계를 객체라고 합니다. 어떤 과자(객체)를 만들지 결정했으면 그에 맞는 배합물을 넣고 섞어 완성품을 만들어내는 일련의 과정들을 인스턴스라고 합니다. 그리고 객체에서 인스턴스로 넘어가는 것을 가르켜 인스턴스화 .. 2019. 1. 17.
C++ 클래스 정의, 구조체와 차이점(접근제어 지시자) ※ 클래스를 알기전에 왜 클래스를 사용하는지 이유가 궁금하시면 객체지향 사용하는 이유(클릭)를 가보시기 바랍니다. C++에서 클래스와 비교되는 것이 구조체 입니다. 이 둘의 코드를 비교해 보겠습니다. 구조체 #include using namespace std; struct MyStruct { int num1; char arr[10]; void print(void) { cout 2019. 1. 17.
C++의 참조자 C++은 C언어와는 다르게 참조자 라는 기능이 있습니다. 이 글을 읽기 전에 '포인터' 라는 개념을 알고 넘어가야 합니다. 포인터를 모르신다면 포인터에 대한 글부터 읽고 넘어가시길 바랍니다. 포인터 보러가기~ 백문이 불여일견!! 예시부터 봅시다. #include using namespace std; void main() { int num1 = 10; int &num2 = num1; //참조자 선언 cout 2018. 6. 24.
C++의 자료형 bool C언어와는 다르게 C++에서는 bool이라는 자료형이 존재합니다. bool은 ture와 false를 나타내는 말로 참과 거짓을 표현합니다. C언어에서는 이것을 #define TRUE 1 #define FALSE 0 으로 자주 선언했을 것입니다. 간단한 예제를 통해서 알아보도록 합시다! #include using namespace std; void main() { if (true) { cout 2018. 6. 24.
C++의 namespace의 사용법과 이유(2) using 사용법 앞에서 namespace의 사용법을 설명했습니다. 복습하자면 사용법은 namespace IamA { void printOut() { std::cout 2018. 6. 24.
C++의 namespace의 사용법과 이유(1) C++에는 C에 없는 namespace라는 기능이 존재합니다. namespace라는 기능을 설명하기에 앞서 C++에 특지에 대해 이해하고 넘어갑시다!! C++은 객채지향 언어입니다. C언어는 절차지향 언어이지요. 이 둘을 나눈다면 크게 이렇게 나눌 수 있을겁니다. 그럼 객채지향 언어의 특징은 무엇이냐? 대표적으로 이식성이 좋다는 겁니다. 쉽게 말해서 '어느 잘 만들어진 프로그램' 의 함수와 기능들을 '다른 프로그램에 이용하고 싶을때' 함수충돌, 변수충돌 등의 문제들을 문제없이 사용할 수 있다는 점입니다. 그 이유는 클래스라는 개념과 namespace 덕분에 가능한데 자세한 설명을 나중에 작성하도록 하겠습니다. 여기서는 그냥 이렇다라고 읽으시고 넘어가시길 바랍니다. 그럼 namespace에 대해 설명하겠습.. 2018. 6. 24.
C++의 std, cout, cin, endl 사용법 C++에서는 C언어와는 다른 입출력을 사용합니다. C에서는 입력을 scanf(자료형, 변수), 출력을 printf("출력할 문자열 or 변수", 변수), 문자열 변경은 '\n' 이렇게 해더에 정의 되어 있는 해더파일에서 함수를 호출해 사용하게 됩니다. 하지만 C++에선 에 정의되어 있는 std::를 이용해서 입출력을 사용합니다. 입력은 std::cin>>"변수" , 출력을 std::cout val; std::cout 2018. 6. 24.
반응형

스킨편집 -> html 편집에서