검색결과 리스트
…™업무일지。에 해당되는 글 148건
- 2014.10.15 ※ 함수 오버로딩
- 2014.10.13 5강 클래스(class)
- 2014.10.13 RFID 구동해 보기
- 2014.10.12 4강 메모리 할당과 해제
- 2014.10.12 입출력 namespace :: 스코프 연산자
- 2014.10.11 C++ 언어의 데이터형과 변수
- 2014.10.07 정보 은닉, 구성과 상속 개념
- 2014.10.06 C++ 시작하기 프로젝트 생성
- 2014.10.01 8bit avr_CPU c 코드 최적화 방법(Atmel 제공)
- 2014.09.29 WIN API 시작하기 ver1_0a
글
연산자 오버로딩
- 기본 연산자의 기능을 객체에도 적용
- 연산자를 중복해서 정의하는 것
- 고유 연산자 기능 외에 사용자가 정의한 기능을 연산자로 실행하게 하는 것
[장점]
연산자 고유의 의미를 유지할 수 있다.
간략한 표기가 가능하다.
형식
리턴형 operator 연산자(매개변수들..)
오버로딩이 가능한 연산자
사칙연사자외 비교연산자 등등.. 거의 모든 연산자
오버로딩이 불가능한 연산자
::(범위 지정 연산자)
.(멤버 접근 연산자 dot), (.*), (?:), (sizeof)
오버로딩 예
1)이항 연산자인 사칙 연산자(+,-,*,/)
2)단항 연산자인 증가 연산자 ++를 오버로딩한 예
전치형 operator++() {}
후치형 operator++(int m) {} // 여기서 int m은 아무 의미 없음 그냥 임시변수 생성이름
함수 오버로딩
함수호출 시 전달된는 인자를 통해서 호출하고자 하는 함수의 구분이 가능하기 때문
'…™업무일지。 > …™C++。' 카테고리의 다른 글
※인라인(inline) 함수 -작업중- (0) | 2014.10.15 |
---|---|
※함수인자 디폴트 (0) | 2014.10.15 |
5강 클래스(class) (0) | 2014.10.13 |
4강 메모리 할당과 해제 (0) | 2014.10.12 |
입출력 namespace :: 스코프 연산자 (0) | 2014.10.12 |
설정
트랙백
댓글
글
클래스(Class)
- 사용자 정의 타임(Type)이다
- 변수와 함수로 이뤄져 있다.
- 멤버(member)
- class 키워드
- class를 선언하면 객체(object)가 된다.
- struct는 C++에서는 class이다.
class 형식
class 클래서명 { 멤버 리스트(변수와 함수) }; |
♣ class 사용 예
1. 멤버 변수
#include <iostream>
class smart { int X; int Y; }; |
2. 멤버 함수
#include <iostream> class smart void Print() |
3. 멤버 함수 를 분리하는 예 -> 클래스 내용이 방대 해 질때 :: 스코프 연산사를 사용 함수를 분리 하는 방법
#include <iostream> class smart }; void smart::Print() // 스코프 연산자를 사용해서 함수의 소속을 구분하여 선언 |
♣ class 선언(객체 생성)
- class가 선언되었을 때 객체라고 한다.
- class는 사용자 정의 타입이므로 일반 변수
또는 포인터 선언과 같은 형식을 사용한다.
#include <iostream> class smart }; void smart::Print() // 스코프 연산자를 사용해서 함수의 소속을 구분하여 선언
int main() {
} |
'…™업무일지。 > …™C++。' 카테고리의 다른 글
※함수인자 디폴트 (0) | 2014.10.15 |
---|---|
※ 함수 오버로딩 (0) | 2014.10.15 |
4강 메모리 할당과 해제 (0) | 2014.10.12 |
입출력 namespace :: 스코프 연산자 (0) | 2014.10.12 |
C++ 언어의 데이터형과 변수 (0) | 2014.10.11 |
설정
트랙백
댓글
글
'…™업무일지。 > …™RFID。' 카테고리의 다른 글
RFID시리얼통신 ver1_1a (0) | 2014.10.21 |
---|
설정
트랙백
댓글
글
메모리 할당 및 해제 비교
구분 |
메모리 할당 |
메모리 해제 |
C언어 |
malloc() |
free() |
C++언어 |
new |
delete |
고정 메모리 : 변수, 배열,
동적 메모리(heap 메모리) :heap 영역을 사용
변수 : 상수 / 메모리 주소 : 일반변수 / 포인터 변수 *
이중 포인터: 메모리 주소를 저장 하는 포인터
new와 delete의 대상
1. 포인터, 객체 2. new로 생성한 것은 반드시 delete로 해제 3. new로 메모리 할당이 실패하면 0 리턴 4. 널 포인터를 delete해도 상관없다. |
new의 형식
1. new type |
int *ptr; ptr = new int; |
2. new type(초기화 |
int *ptr; ptr = new int(12); |
3. new type[개수] |
int *ptr; ptr = new int[7]; |
delete 형식
1. delete 포인터 변수 |
int *ptr; ptr=new int; delete ptr; |
2. delete [] 포인터 변수 |
int *ptr; ptr=new int[12]; delete [] ptr; |
예제들
1. 포인터
2. 이중 포인터 : 배열의 행열 갯수가 가변적일 때 쓰임
3. 포인터 배열 :
행이 일정하고 열만 가변
4. 배열 포인터 :
행은 가변 열은 고정
5. 구조체 포인터
|
'…™업무일지。 > …™C++。' 카테고리의 다른 글
※ 함수 오버로딩 (0) | 2014.10.15 |
---|---|
5강 클래스(class) (0) | 2014.10.13 |
입출력 namespace :: 스코프 연산자 (0) | 2014.10.12 |
C++ 언어의 데이터형과 변수 (0) | 2014.10.11 |
정보 은닉, 구성과 상속 개념 (0) | 2014.10.07 |
설정
트랙백
댓글
글
namespace
- 심볼(변수, 함수, 클래스)의 유효(소속) 범위를 설정
- :: 스코프 연산자 로 심볼의 소속을 나타낸다.
(범위 확정 연산자, the scope-resolution operator)
- 같은 이름의 심볼을 구분한다. -> 충돌 방지
형식
namespace identifier
{
[declaration-list]
}
cout 출력 (std namespace에 속해 있는 클래스)
<< 연산자(insertion operator)
cout로 바이트 단위로 데이터를 보내는 역할
cout<<변수 또는 상수
endl cout에서 는 개행문자(\n)와 같음
cin>>변수1>>변수2>>변수3;
>>연산자(추출 연산자, extraction operator)
입력된 데이터를 바이트 단위로 가져오는 역할
한 문자를 입력 하는 방법
>> 추출 연산자를 이용하는 방법
cin.get(cVal); 함수를 이용한 방법
문자열을 입력하는 방법
string 문자열 및 getline(cin,변수이름)
- #include <string> // header 파일에 선언
'…™업무일지。 > …™C++。' 카테고리의 다른 글
5강 클래스(class) (0) | 2014.10.13 |
---|---|
4강 메모리 할당과 해제 (0) | 2014.10.12 |
C++ 언어의 데이터형과 변수 (0) | 2014.10.11 |
정보 은닉, 구성과 상속 개념 (0) | 2014.10.07 |
C++ 시작하기 프로젝트 생성 (0) | 2014.10.06 |
설정
트랙백
댓글
글
1. 데이터형
- 부울형:bool
-> 1 byte, false(0), true(1)
* 0과 1 보다는 false 또는 true 를 많이 쓴다.
true(1): 0이 아닌 모든수 예) -1, 7
false(0): 0인 수
- 문자형:char
- 정수형: int, short, long
- 부동소수점 실수형:float, double
- 열거형:enum
- 구조체형:struct
-void형:함수의 반환값이 없는 것을 명시
타입을 모르는 포인터형을 사용할 때
'…™업무일지。 > …™C++。' 카테고리의 다른 글
4강 메모리 할당과 해제 (0) | 2014.10.12 |
---|---|
입출력 namespace :: 스코프 연산자 (0) | 2014.10.12 |
정보 은닉, 구성과 상속 개념 (0) | 2014.10.07 |
C++ 시작하기 프로젝트 생성 (0) | 2014.10.06 |
우분투 리눅스에서 APT(Advanced Packaging Tool) 설치하기 (0) | 2014.09.29 |
설정
트랙백
댓글
글
정보 은닉 방법
구성 과 상속 개념
구성: 분리가 가능(클래스 안에 다른 클래스를 가져오는 형태)
상속: 분리가 안됨
생성자 참조 사이트: http://pacs.tistory.com/entry/C-%EC%83%9D%EC%84%B1%EC%9E%90%EC%99%80-%EC%86%8C%EB%A9%B8%EC%9E%90-Constructor-Destructor-%EC%B2%AB%EB%B2%88%EC%A7%B8
생성자(Constructor)
1.반화형이 없다. 2.인자는 선택적 3.클래스 와 동일 이름
필요성: 객체를 생성과 동시에 초기화를 해주기 위해 필요
예제
#include <iostream> class Smart void print() int main() obj1.ip=0; obj1.print(); return 0; // 생성자: |
복사 생성자(Constructor)
다른 객체로 부터 값을 복사해서 초기화 하는데, 사용
자신과 동일한 타입의 객체에 대한 레퍼런스를 인자로 받는 생성자
인자값에 const를 써준 이유: 값에 의한 전달보다는 상수 객체 참조자에 의한 전달하는 편이 낫다.
'…™업무일지。 > …™C++。' 카테고리의 다른 글
4강 메모리 할당과 해제 (0) | 2014.10.12 |
---|---|
입출력 namespace :: 스코프 연산자 (0) | 2014.10.12 |
C++ 언어의 데이터형과 변수 (0) | 2014.10.11 |
C++ 시작하기 프로젝트 생성 (0) | 2014.10.06 |
우분투 리눅스에서 APT(Advanced Packaging Tool) 설치하기 (0) | 2014.09.29 |
설정
트랙백
댓글
글
'…™업무일지。 > …™C++。' 카테고리의 다른 글
4강 메모리 할당과 해제 (0) | 2014.10.12 |
---|---|
입출력 namespace :: 스코프 연산자 (0) | 2014.10.12 |
C++ 언어의 데이터형과 변수 (0) | 2014.10.11 |
정보 은닉, 구성과 상속 개념 (0) | 2014.10.07 |
우분투 리눅스에서 APT(Advanced Packaging Tool) 설치하기 (0) | 2014.09.29 |
설정
트랙백
댓글
글
'…™업무일지。 > …™ATMEGA128A。' 카테고리의 다른 글
AVR studio 사용법 (0) | 2014.11.18 |
---|---|
[WinAVR설치하기][RISC와CISC] ver1_0b (0) | 2014.11.18 |
ATmega128 datasheet (0) | 2014.04.20 |
AVR 기초강좌 (0) | 2014.04.18 |
AVR 기본강좌 (0) | 2014.04.18 |
설정
트랙백
댓글
글
'…™업무일지。 > …™WINAPI。' 카테고리의 다른 글
Win32 API 프로그램 작성 순서 6단계 (0) | 2014.10.21 |
---|---|
Win32 API 기초정리 (0) | 2014.10.20 |
▶Win32 API 주요 함수 (0) | 2014.10.17 |
※ WINAPI 기본형 (0) | 2014.10.15 |
BITMAP and 영상출력 참고 사이트 (0) | 2014.09.25 |
RECENT COMMENT