일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- C언어 공부
- TensorFlow
- c언어
- 가우시안 필터링
- matlab 영상처리
- c언어 정리
- 컴퓨터 비전
- 팀프로젝트
- tensorflow 예제
- c++
- 케라스 정리
- 모두의 딥러닝 예제
- c++공부
- pytorch
- 해리스 코너 검출
- pytorch zero to all
- object detection
- 딥러닝 공부
- 영상처리
- 딥러닝 스터디
- 모두의 딥러닝
- MFC 프로그래밍
- 파이토치 강의 정리
- 미디언 필터링
- 김성훈 교수님 PyTorch
- 딥러닝
- 파이토치 김성훈 교수님 강의 정리
- 골빈해커
- Pytorch Lecture
- 파이토치
- Today
- Total
ComputerVision Jack
[c++ 프로그래밍 Chapter3] 본문
[C++에서 구조체]
구조체 등장배경
연관있는 데이터를 하나로 묶으면, 프로그램의 구현 및 관리가 편하다.
구조체에선 내부에 변수와 함수를 선언할 수 있다.
열거형 enum
구조체 내에서만 유효한 상수들은 열거형 enum을 사용하여 정의한다.
#define 정의를 -> enum{}으로 가져온다.
또한 구조체 내에서 정의된 함수를 외부로 뺄 수 있다.
즉, 선언만 구조체에서 하고 정의는 외부에서 한다.
[클래스(Class)와 객체(Object)]
구조체는 클래스의 일종이다.
struct 대신 class를 사용하기만 하면 된다.
하지만 Car c = {"sonata", 200, 0}; 식으로 초기화 할 수 없다.
클래스에선 클래스 내에 선언된 변수는 클래스 내에 선언된 함수에서만 접근 가능하다
따라서 클래스에선 접근 관련된 지시를 별도로 지정해야한다.
- public : 어디서든 접근 허용
- private : 상속관계에 놓여 있을 때, 유도 클래스에서의 접근 허용
- protected : 클래스 내(클래스 내에 정의된 함수)에서만 접근 허용
정보은닉 개념이 도입된다.
클래스 = 멤버 변수 + 멤버 함수 로 구성되어있다.
대부분 헤더파일에서 클래스를 선언하고, cpp에서 클래스 정의를 담는다.
다만 클래스 내의 인라인 함수는 헤더파일에 함께 넣어준다.
Class example{
private:
int num;
char ch; 멤버 변수
public:
void show(int some){ }; 멤버 함수
void hello(char c) { };
};
[객체 지향 프로그래밍 이해]
객체지향 프로그램
현실에 존재하는 사물과 대상, 그에 따른 행동을 실체화하는 형태의 프로그래밍
이러한 객체는 하나 이상의 상태 정보(속성)와 하나 이상의 기능(메소드)으로 구성된다.
클래스 기반 두가지 객체 생성 방법
ClassName obj;
# 일반적인 변수의 선언 방식
ClassName * obj = new ClassName;
# 동적 할당방식(힙)
객체간의 대화는 Message로 이루어진다.
'Programming Language > C++ Programming' 카테고리의 다른 글
[C++프로그래밍 Chapter6] (0) | 2020.01.23 |
---|---|
[C++프로그래밍 Chapter5] (2) | 2020.01.21 |
[C++ 프로그래밍 Chapter4] (0) | 2020.01.19 |
[C++ 프로그래밍 Chapter2] (0) | 2020.01.14 |
[C++ 프로그래밍 Chapter1] (0) | 2020.01.14 |