C & C++30 [C++] 흐름 제어, 복합 데이터 Ch 05. 흐름 제어if 문if(조건문){실행}else if{}else{}if 문 내에서 선언하기if(int num1, num2; scanf("%d %d, &num1, &num2){}switch 문switch(sw){case 1: break;case 2: break;default:}if문보다 아주 약간 빠름if문처럼 switch문 내에서 변수 선언이 가능함break를 의도적으로 넣지 않을 경우switch(sw){case 1: [[fallthrough]] //폴스루를 넣어주면 좋다.case 2: break;default:}for문for(초기화;조건;갱신){}//1. 초기화//2. 조건이 true면 3번 false면 탈출//3. 구문수행//4. 갱신//5. 2번으로 돌아감break문을 사용할 때 안사용할 .. 2024. 6. 26. [C++] 데이터, 입출력, 연산자 종강을 했습니다. 사실 종강한 지는 조금 되었는데 나태해서 이제야 글을 다시 쓰게 되었네요. 매주 글을 쓰기로 마음을 먹었었는데 참 쉽지 않은 것 같습니다. 그래도 이번 학기는 전공 공부에 집중한 덕분에 우수한 성적으로 학기를 마무리할 수 있었는데요. 의외의 수확인 것 같습니다. 학기도 끝났고 이제는 개발에 관한 공부를 하고 싶어서 C++을 다시하게 되었습니다. 이번에는 학교에서 주최하는 NGT 러닝패스 프로그램에 참여하게 되어 패스트 캠퍼스의 무료강의를 수강할 수 있게 되었는데요. 아직 조금밖에 들어보지 않았지만 강의를 진행하시는 강사분이 중요하지만 언뜻 중요하지 않아 보여서 지나칠 수 있는 부분도 집어주고, 요즘의 트렌드를 반영하여 설명하고, 활용에 대한 예제도 많이 보여주셔서 꽤나 좋았습니다. 그래.. 2024. 6. 25. [열혈 C++] private 접근제어지시자의 정확한 범위 private private의 뜻은 클래스를 공부한 사람이라면 누구나 알고 있을 것입니다. private은 외부로부터의 접근을 제한한다는 뜻입니다. 그렇다면 접근자가 같은 클래스이지만 다른 객체라면 private 영역에 접근할 수 있을까요? 답은 '그렇다'입니다. 만약 private이 같은 클래스의 다른 객체에서의 접근까지 제한한다면 복사생성자나 연산자 오버로딩을 하지 못했을 것입니다. #define _CRT_SECURE_NO_WARNINGS #include using namespace std; class SimpleClass { private: int num; public: SimpleClass(const SimpleClass& copy) :num(copy.num) //같은 SimpleClass이지만 .. 2024. 2. 20. [열혈 C++] 정보 은닉과 캡슐화 정보 은닉 정보 은닉이란 코드(클래스)에서 외부에서 함부로 접근하였을 때 문제가 될 수 있는 데이터를 안쪽으로 숨겨서 코드의 안정성을 높이는 것을 말한다. 안쪽으로 숨긴다는 것은 private: 처리를 하여 클래스 내부에서만 접근할 수 있게 하는 것을 말한다. 정보은닉을 하게 되면, 외부에서의 접근을 제한할 뿐만 아니라 프로그래머의 실수로 인한 오류도 잡아내기 쉬워진다. #include using namespace std; class point { public: int xpos; //좌표의 범위는 0~100 int ypos; void PrintPos() { cout 2024. 2. 4. [열혈 C++] C++에서의 파일 분할 파일 분할 C++에서는 클래스별로 파일을 나눕니다. 각 클래스에서 헤더와 소스를 분리합니다. 헤더파일에는 클래스의 선언을, 소스파일에는 클래스의 정의(멤버함수의 정의)를 담습니다. 하지만 멤버함수를 인라인 처리할 경우 인라인 된 함수는 헤더파일에 넣어야 합니다. 헤더파일 : 클래스의 선언, 인라인 함수 소스파일 : 멤버함수의 정의를 포함한 클래스의 정의 #ifndef, #define, #endif 헤더파일을 디자인할 때는 헤더파일의 중복을 막기 위해 #ifndef, #define, #endif를 사용합니다. ifndef : 만약 정의되지 않았다면 #endif까지 유효한 코드로 만든다. define : 정의 한다. endif : #ifndef의 끝을 나타낸다. #ifndef HEAD #define HEAD.. 2024. 2. 4. [열혈 C++] 구조체와 클래스 C++에서의 구조체 정의 방법 C++에서는 typedef 선언의 필요 없이 간단하게 구조체를 정의하고 선언할 수 있습니다. Car라는 구조체를 정의하기 위해서 struct Car { 데이터 }; 의 형태로 정의를 하고 선언할 때 struct 없이 Car car; 형태로 선언하면 됩니다. 또한 C++에서는 구조체 관련 함수를 구조체 안에 삽입할 수 있습니다. 구조체 안에 함수를 삽입하게 되면 함수가 무엇과 관련한 함수인지 파악하기 용이하고 구조체 안에 들어간 함수는 자동으로 inline처리가 됩니다. 간단한 예제를 작성해 보겠습니다. #include using namespace std; struct Car { int carspeed; void Accel() { carspeed += 10; cout 2024. 2. 4. 이전 1 2 3 4 5 다음