본문 바로가기

IoT 디바이스 활용81

C++ - 객체와 함수 객체와 함수 객체와 함수 객체와 함수의 관계 객체가 함수의 매개 변수로 전달되는 경우 객체의 참조자가 함수의 매개 변수로 전달되는 경우 함수가 객체를 반환하는 경우 객체가 함수의 매개변수로 전달되는 경우 - param.cpp 함수의 인수는 기본적으로 값에 의해 매개 변수로 전달 객체일 때도 마찬가지 --> 객체가 복사됨 #include using namespace std; class Pizza { public: int size; Pizza(int s) : size(s) {} }; void makeDouble(Pizza p) { p.size *= 2; } int main() { Pizza pizza(10); makeDouble(pizza); cout 2020. 10. 12.
C++ - 생성자와 접근 제한자 생성자와 접근 제한자 생성자(constructor) 생성자 객체가 인스턴스화 될 때 자동으로 호출되는 멤버 함수 리턴 타입이 없으며 클래스 이름과 동일 멤버 변수의 초기화가 주요 역할임 생성자를 정의하지 않으면 컴파일러에 의해 디폴트 생성자가 자동 추가됨 디폴트 생성자 매개변수가 없는 생성자 #include using namespace std; class Time { public: int hour; int minute; // 생성자 Time(int h, int m) { hour = h; minute = m; } void print() { cout 2020. 10. 12.
C++ - 클래스와 객체 클래스와 객체 객체의 구성요소 멤버 변수 객체의 상태를 저장하는 변수 멤버 함수(메서드) 객체 안에 정의된 함수 멤버 변수 접근에 자유로움 클래스와 객체(인스턴스) 클래스 객체의 형태를 정의하는 설계도 객체(인스턴스) 클래스의 형태를 취하는 실체 클래스 정의하기 접근 지정자 private 클래스 안에서만 접근(사용)할 수 있음 protected 클래스 안과 상속된 클래스에서 접근 가능 public 어디서나 접근이 가능 객체 생성 클래스 타입으로 변수를 선언하면 해당 객체(인스턴스)가 생성됨 객체 멤버 접근 . 연산자로 접근 정적 할당 : 선언과 동시에 Stack에 만들어진다. (stack frame of main) cf) Python에서는 상수랑 부울린만 정적 할당이었다. 객체의 사용 #include #.. 2020. 10. 11.
C++ - 문자열 문자열 string 클래스 문자열 데이터 저장 및 문자열 처리 함수(메서드) 제공 #include 을 먼저 지정 후 사용 #include #include using namespace std; int main(int argc, char const *argv[]) { string s1 = "Slow", s2 = "steady"; string s3 = "the race."; string s4; s4 = s1 + " and " + s2 + " wins " + s3; cout 2020. 10. 11.
C++ - 함수 함수 함수의 구조 함수의 호출 #include using namespace std; int max(int x, int y); // 함수 원형 int main(int argc, char const *argv[]) { int n; n = max(2, 3); cout 2020. 10. 11.
C++ - 배열 배열 배열(array) 같은 종류의 데이터들이 순차적으로 메모리에 저장되는 자료 구조 각각의 데이터(요소)들은 인덱스(번호)를 사용하여 독립적으로 접근 가능 대용량의 데이터를 동일한 이름으로 쉽게 저장하고 처리 가능 ) #include using namespace std; int main() { const int STUDENTS = 10; int scores[STUDENTS]; int sum = 0; int i, average; for (i = 0; i scores[i]; } for (i = 0; i < STUDENTS; i++) { sum += scores[i]; } average = sum / STUDENTS; cout 2020. 10. 11.
C++ - 제어 구조 제어 구조 제어 구조 제어 구조 관계 연산자 #include using namespace std; int main(int argc, char const *argv[]) { bool b; b = (1 == 2); cout 2020. 10. 9.
C++ - 기초 사항 기초 사항 첫 프로그램 #include using namespace std; int main( int argc , char const *argv[]) { cout 2020. 10. 9.
C++ - 개발환경 구축 개발환경 구축 MinGW-W64 C++ 컴파일러 https://sourceforge.net/projects/mingw-w64/files/mingw-w64/ C:\workspace\iot\c++ 디렉토리를 만들어 vscode로 연다. PATH 환경변수 내PC > 속성 >고급 시스템 설정>고급>환경변수>시스템변수>Path>편집>새로만들기 C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin mingw32-make.exe를 복사 make.exe 생성 VSCode VSCode - 확장 팩 Code Runner(코드실행),material(파일구분), C/C++ 검색 Microsoft가 제공하는 확장팩 설치 설치확인 >>> g++ -v 2020. 10. 9.