Liea
'① 공부/C++' 카테고리의 글 목록 (2 Page)

① 공부/C++

① 공부/C++

C++. 멤버 이니셜라이저

[ 멤버 이니셜라이저 ] ㄴ 멤버변수 초기화 시 사용 ㄴ const변수(상수)는 이니셜라이저를 통해 초기화가 이루어져야 함 ㄴ 생성자 몸체 부분 호출 전에 실행함 ㄴ 멤버변수로 사용된 객체의 생성자 호출에 사용 ㄴ 상속 관계에서 자주 사용됨 -> 생성자 함수원형 : 멤버변수(값) 코드 더보기 #include using namespace std; //다른 클래스로 부터 만든 객체를 멤버로 가지는 경우, 멤버 이니셜라이저를 통해서만 멤버객체를 초기화 시킬 수 있다. class Point { int xpos; int ypos; public: Point(int x, int y) { xpos = x; ypos = y; } void ShowPos() { cout

① 공부/C++

C++. 메인부, 선언부, 구현부 분리하기

[ 바람직한 C++ 프로그램 작성법 ] - 클래스를 헤더 파일과 cpp 파일로 분리하여 작성 ㄴ 클래스마다 분리 저장 ㄴ 클래스 선언 부 : 헤더파일 .h 에 저장 ㄴ 클래스 구현 부 : .pp 파일에 저장 //클래스가 선언된 헤더 파일 include ㄴ main() 등 전역 함수나 변수는 다른 cpp 파일에 분산 저장 ㄴ 필요하면 클래스가 선언된 헤더 파일 include - 목적 : 클래스 재사용 메인부 코드 더보기 //메인부 #include using namespace std; #include "Calculator.h" int main(void) { Calculator cal; cout

① 공부/C++

C++. 생성자, 소멸자, 접근 지정자

[ 생성자 (Constructor) ] : 클래스로부터 객체 생성시에 반드시 한 번 호출되는 함수 클래스명과 같은 함수, 리턴하지 않음(void도 X, 리턴형 없음) 생성자의 목적 : 객체가 생성될 때 객체가 필요한 초기화를 위해 ㄴ 멤버 변수 값 초기화, 메모리 할당, 파일 열기, 네트워크 연결 등 객체생성과정 : 1) 메모리공간 할당 2) 생성자 호출 및 실행 생성자가 하나도 없는 경우 : 컴파일러가 생성자 삽입해서 호출 ==> Default 생성자 매개변수가 없고, 바디도 비어있는 생성자 Circle donut; //매개 변수가 없는 생성자 호출 Circle pizza(30); //30을 매개 변수로 받을 수 있는 생성자 호출 = 오버로딩 가능함 생성자 예시 코드 더보기 #include using ..

① 공부/C++

C++. C++의 특성, 입출력

=========================================================== * 객체지향프로그래밍I (C++) Class설계, 상속, 함수 중복정의(오버로딩), 연산자 중복, 다형성 Object-Oriented Programming ㄴ C언어 기반으로 만들어낸 객체지향 언어 ㄴ ( if, for, while, switch case문, 기본데이터형( int, double, float, char, string ) )을 그대로 사용함 * 출력 std::cout

① 공부/C++

C++. 객체의 생성과 소멸

생성자와 소멸자 생성자 : 객체가 생성될 때 자동으로 호출되는 함수 소멸자 : 객체가 소멸될 때 자동으로 호출되는 함수 //생성자 : 객체가 생성될 때 자동으로 호출되는 함수 //소멸자 : 객체가 소멸될 때 자동으로 호출되는 함수 #include using namespace std; class Myclass { public: Myclass()//생성자 { cout

① 공부/C++

C++. this 포인터

#include using namespace std; class Myclass { public: void PrintThis()// 보이지는 않지만 this를 매개변수로 받고있음 { cout

① 공부/C++

C++. 클래스와 오브젝트

// 클래스 = 자료 저장 + 자료 처리 = 변수 + 함수 // 클래스(타입) : 특정한 용도를 수행하기 위한 변수와 함수를 모아둔 틀(자료형) // 객체(오브젝트) : 클래스라는 틀을 이용하여 찍어낸 개체(변수, 메모리 상의 공간) /* class : 이상적인 세계(원형) object : 실존하는 세계(원형을 가져와 구체화한 것) :서로 독립적, 다름, 구별이 가능 이상적인 세계에 존재하는 원형을 실존세계에 가져와 구체화 시키는 것(인스턴스) Class -이산적인 세계에 존재하는 단 하나의 기준 -실존하지 않다. -가장 중요한 특성만 개략적으로 알려준다. -구체적인 수치가 없다. Object -자기 자신을 스스로 챙길 수 있다. -하나의 온전한 단위로 존재한다. -실존 세상에 있다. -하나의 원형에서 ..

① 공부/C++

C++. 네임 스페이스

네임 스페이스 : 이름이 같은 경우 이름에 모호성이 생기는 것을 방지, 하나의 공간 //네임스페이스 : 이름이 같은 경우 이름에 모호성이 생기는 것을 방지, 하나의 공간 #include using namespace std; int n;//전역변수 void set() { ::n = 10;//명시적 전역변수, n을 호출함 } namespace doodle { int n; void set() { doodle::n = 20;//doodle의 n을 호출 } } namespace google { int n; void set() { doodle::n = 30;//doodle의 n을 호출 } } int main(void) { ::set(); doodle::set(); google::set(); cout

① 공부/C++

C++. 스타일 함수

OVER LOAD(다중 정의) 1. 첫 번째 예제 #include void swap(int& a, int& b) { int tmp = a; a = b; b = tmp; } void swap(double& a, double& b) { double tmp = a; a = b; b = tmp; } void swap(int* a, int* b) { int *tmp = a; a = b; b = tmp; } int main() { int a = 20, b = 30; double da = 2.222, db = 3.333; int* pa = &a, * pb = &b; swap(a, b); swap(da, db); swap(pa, pb); //컴파일러가 알아서 매개변수의 형에 적합한걸 찾아주므로, 이름이 같아도 결과가 ..