전체 글 488

[C++] C++ 23일차 Template 2 함수

안녕하세요. 훈츠입니다. 금일은 Template 키워드를 이용하여 클래스에 적용 하는 방법에 대해 포스팅 합니다. 템플리트 클래스(template class) 클래스 안에서 사용하려는 형을 템플리트로 지정 합니다. 템플리트를 사용하는 멤버 함수의 구현을 외부에서 할때에는 클래스에서 정의한 템플리트를 모든 함수의 구현 부분에 지정해 줘야합니다. 형식 ( template 클래스 선언 ) template 뒤에 클래스 선언 template class A { ….; 예제1 코드 (T 가하나인 경우) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 //Hoons Blog---https:/..

카테고리 없음 2020.04.28

[C++] C++ 22일차 Template 1 함수

안녕하세요. 훈츠입니다. 금일은 Template 키워드를 이용하여 함수에 적용 하는 방법에 대해 포스팅 합니다. 템플리트 (template) 어떤 타입이라도 클래스 또는 함수에서 사용할 수있게 하는 역활을 한다. 코틀린의 Generic 과 같은 개념 입니다. 함수의 기능은 같은데, 매개변수의 타입만 다른 경우, 오버로딩을 통해서 해결할수도 있지만 템플릿을 이용하게 되면 다음과 하나의 함수로 해결이 가능합니다. Ex) Add(int, int) , Add(float, float) Ex) templatevoid Add(A &a, B & b) { a + b } 형식 ( template 함수의 형식 ) 클래스안에 함수 앞에 붙이고, 함수는 원형만 선언 Template void IsEqual ( T & a, T &..

카테고리 없음 2020.04.27

[C++] C++ 21일차 friend 변수와 friend 클래스

안녕하세요. 훈츠입니다. 금일은 friend 변수와 friend 클래스에 관해 포스팅 합니다. 클래스 안에 friend 변수(friend variable in the class) 일반 함수가 클래스의 모든 멤버 ( private , public ) 에 접근을 할수 있습니다. friend 는 상속되지 않습니다. 클래스 안에 멤버 함수를 두지 않고 외부에 두고자 하는경우에 사용 합니다. 형식 ( friend 함수의 형식 ) 클래스안에 함수 앞에 붙이고, 함수는 원형만 선언 friend bool IsEqual ( A & a, B & b ) ; // 클래스 내부 Bool IsEqual ( A & a, B & b ) { if …. // 클래스 외부 예제1 코드 (A 클래스 안에 friend 함수 선언) 1 2 3..

[C++] C++ 20일차 static(정적) 멤버변수와 static(정적) 함수

안녕하세요. 훈츠입니다. 금일은 클래스 안에 static(정적) 멤버 변수와 static(정적)함수에 관해 포스팅 합니다. 클래스 안에 정적 멤버 변수(static variable in the class) 공용으로 사용 할수 있다. Ex) class A test1, test2 일때, test1 과 test2 는 class A에 있는 정적 멤버변수를 공유한다. 클래스의 전역 변수 역활을 합니다. 클래스 외부에서 한번은 초기화 해야 합니다. 초기화 할때는 :: 을 이용하여 소속을 지정합니다. 클래스의 인스턴스를 생성하지 않아도 정적 멤버변수를 사용할수 있다. 형식 ( static 데이터형 멤버변수명 ) 클래스안에 정적(static) 변수로 선언 Main 함수 밖에서 선언 해야 하며 형식은 다음과 같습니다. ..

[C++] C++ 19일차 static(정적) 클래스와 지역 정적(static)클래스 1강

안녕하세요. 훈츠입니다. 금일은 static 클래스와 지역 static 클래스에 관해 포스팅 합니다. 정적 클래스 (static class) 한번 생성과 초기화 ( 스태틱 메모리 영역에 저장) 프로그램이 종료될 때 까지 소멸되지 않는다. 정적 클래스를 객체화 하면 내용을 공유 한다. 형식 ( has - a 관계 ) 클래스안에 A 클래스를 정적(static) 변수로 선언 Main 함수 밖에서 선언 해야 하며 형식은 다음과 같습니다. A B::ClassA(10); 함수안에서 A 클래스를 정적(static) 변수로 선언 void Set(int nVar { static A test(nVar); 예제 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ..

[C++] C++ 18일차 오버로딩 4 (복사 생성자)

안녕하세요. 훈츠입니다. 금일은 클래스 객체 복사에 관련 포스팅 합니다. 복사 생성자 이전 시간에 클래스간 복사를 할때, 선언과 동시에 할당을 할 경우 생성자는 한번만 호출되고 소멸자만 두번 호출 되는것을 보셨을것입니다. 만약 이때 생성자에 메모리 할당이 있는 경우는 프로그램이 다운 됩니다. 선언과 동시에 클래스 복사하고자 할때 사용하는것이 복사 생성자 입니다. 메모리를 생성하는 생성자를 사용하는 경우 클래스 객체의 복사는 해제할 메모리 주소를 잃어버리게 하여 프로그램을 다운되게 합니다. 클래스를 복사함과 동시에 초기화 하는것은 생성자가 호출되지 않는 단점이 있다. 복사 생성자의 호출 객체를 복사하면서 초기화하는 대입에서 복사생성자가 호출 복사 생성자의 형식 생성자와 같은 형식이며 매개변수로 클래스의 참..

[안드로이드] 실제 기기와 삼성플로우 사용하여 연결하기

안녕하세요. 훈츠입니다. 금일은 가상머신이 아닌 실제기기 연결방법과 Samsung Flow를 통해 휴대폰 화면을 PC 로 띄우는 방법에 대해 포스팅 합니다. 실제 기기 연결 순서 제조사 USB 드라이버 설치 스마트폰 개발자 기능 활성화 및 USB 디버깅 허용 하기 휴대폰 정보 -> 소프트웨어 -> '빌드번호' 여러 번 클릭 해주세요. 개발자 옵션 활성화 확인 개발자 옵션 클릭 -> USB 디버깅을 허용 해주세요. USB 케이블로 PC와 스마트폰을 연결후, 수초 기다리면 디바이스 연결에 해당하는 스마트폰을 발견할수 있습니다. 제조사 홈페이지 삼성 전자서비스 : https://www.samsungsvc.co.kr/ 엘지 전자서비스 : https://www.lge.co.kr/ Samsung Flow 로 휴대폰..

[C++] C++ 17일차 오버로딩 3 (클래스 객체 복사시 주의사항)

안녕하세요. 훈츠입니다. 금일은 클래스 객체 복사에 관련 포스팅 합니다. 클래스 객체 복사의 문제점 생성자에 메모리 할당이 있는 경우는 프로그램이 다운되며, 복사와 동시에 클래스를 초기화 하는 경우 생성자가 호출되지 않습니다. 메모리를 생성하는 생성자를 사용하는 경우 클래스 객체의 복사는 해제할 메모리 주소를 잃어버리게 하여 프로그램을 다운되게 합니다. 클래스를 복사함과 동시에 초기화 하는것은 생성자가 호출되지 않는 단점이 있다. 객체 복사시, 생성자 호출 되지 않는 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 //Hoons Blog---https://rain2002kr.tistory.com--------------------------------------..

[안드로이드] 액티비티 4 ( 액티비티와 프래그먼트 통신 with inteface )

안녕하세요. 훈츠입니다. 금일은 액티비티와 프래그먼트 간 인터페이스 하는법에 대해 포스팅 합니다. 액티비티와 프래그먼트 통신 구성 목차 액티비티에서 프래그먼트로 값을 보내기 위해서는, 프래그먼트 매니저를 통해 프래그먼트를 찾고, 그안에 함수를 호출하면 됩니다. 프래그먼트에서 액티비티로 값을 보내기 위해서는, 옵저버 패턴을 이용합니다. 리스너를 가지는 인터페이스를 선언후 그안에 구현부가 없는 함수를 선언 합니다. 그리고 인터페이스를 상속하는 클래스 변수를 선언후, 클래스 변수에서 함수를 호출 하여 값을 입력 합니다. 액티비티에서는 onAttachFragment 를 통해 해당하는 프래그먼트를 if 로 확인후, 해당하는 인터페이스를 익명객체로 붙여줍니다. 그리고 그안에서 함수를 오버라이드후 값을 받을 view..

[C++] C++ 16일차 함수 오버로딩 2

안녕하세요. 훈츠입니다. 금일은 함수 오버로딩에 관해 포스팅 합니다. 함수 오버로딩 함수 오버로딩은, 같은 기능을 하지만 다른 매개변수를 처리해야할때 사용하시면 좋습니다. 클래스 안에서 함수명을 중복하여 사용 가능합니다. 함수의 매개변수로 같은 함수를 구분 합니다. 매개변수만 오버로딩에 관계되며 리턴형은 상관 없습니다. 형식 리턴형 함수명 (매개 변수들…) 오버로딩시 주의 사항 매개 변수의 모호성에 유의 하세요. 오버로딩 예시 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 //Hoons Blog---https://rain2002kr.tistory.com----------------------------..