일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩봉사
- 문제풀이
- 소프티어
- 코틀린
- 데이터베이스
- SW봉사
- 자바
- C++
- CJ UNIT
- 공부일지
- BFS
- 백준
- programmers
- 알고리즘
- 회고
- 시나공
- 백준 알고리즘
- MYSQL
- 백준알고리즘
- 스프링
- 파이썬
- SQL
- python
- 코딩교육봉사
- 정보처리산업기사
- softeer
- kotlin
- 프로그래머스
- java
- 1과목
- Today
- Total
목록기타 학습 (77)
JIE0025
C++ 표준 라이브러리 엔 각종 수학 함수가 있다. 한가지 주의해야할 점은 min과 max는 #include에 있고. min max는 std namespace안에 있기 때문에 사용하기 위하여 using namespace std; 를 해주어야한다!!! //서비스함수 ceil(x) : 정수 올림 floor(x) : 정수 내림 abs(x) : 절대값 min(x,y) : x, y중 최소값 반환 max(x,y) : x,y중 최대값 반환 //지수함수 pow(a,b) : a의 b제곱 (a^b) sqrt(x) : x의 제곱근(루트value) log(x) : x의 자연로그 값 반환 log10(x) : x의 상용로그 값 반환 //삼각함수 sin(radians) : 라디안 값의 사인값 반환 cos(radians) : 라디안..
멤버 함수 내에서 사용 가능한 this 라는 이름의 포인터를 사용할 수 있다. 객체 자신을 가리키는 용도이다. 예제 #include using namespace std; class SimpleClass { private: int num; public: SimpleClass(int n) : num(n) { cout num2 = m; } }; int main() { SimpleClass s2(100,200); s2.ShowData(); return 0; }
객체도 배열로 만들 수 있다는 점 씨언어는 모든것에 포인터가 있고 배열이 있는 그런느낌이다. 객체 배열 선언 ClassName arr[10]; 주의해야할 점 ❗❗ 객체 배열을 선언할때도 생성자는 호출이 되기 때문에 생성자로 인자를 전달할 수 없다. 1) 다음 형태의 생성자는 정의되어있어야한다. 2) 다른 함수 형태로 일일히 값을 초기화해줄 수는 있다. #include #include using namespace std; class TestResult { private: int myScore; int myNumber; string myName; public: TestResult() { myScore = 0; myNumber = 0; myName = "none"; } void setInfo(int score..
객체 생성 과정에서 생성자 호출이 객체의 초기화를 수월하게 하는데 만약 class A 에서 B라는 객체를 멤버로 갖고 있다면 A가 생성될 떄 B class 생성자를 통해 B객체를 초기화 할순 없을까? 멤버 이니셜라이저를 이용하면 위의 것을 할 수 있다고 한다. class Rectangle { private: Point upLeft; Point lowRight; public: Rectangle(const int& x1, const int& y1, const int& x2, const int& y2); void ShowRecInfo() const; }; Rectangle::Rectangle(const int& x1, const int& y1, const int& x2, const int& y2) : upLe..
생성자 C++은 생성자를 이용해 객체 생성과 동시에 멤버변수를 초기화 할수 있다. - 클래스 이름과 동일한 이름 - 반환형 명시 X - 오버로딩 (여러번 정의가능, but 매개변수의 개수나 형태가 달라야 한다.) class Monster{ private: int damage; string name; public: Monster(){ //생성자 } }; 기본 생성자 - class안에 별도의 생성자를 구현하지 않으면 기본생성자 default constructor 가 사용되며 멤버변수는 0이나 NULL등의 값으로 초기화 된다. 복사 생성자 다른 인스턴스의 참조를 인수로 받아 자신의 인스턴스를 초기화 하도록 함 깊은 복사 : 기존의 인스턴스와는 다른 메모리 공간에 할당 됨 >> 독립적 #include using..
Object : 사물/대상 (우리 주변에 존재하는 물건,대상) 나는 과일장수에게 두 개의 사과를 구매했다. 라는 문장 안에서 객체는 나, 과일장수, 사과 이다. 객체지향 프로그래밍은 실제 사물, 대상, 그리고 행동을 실체화 하는 형태의 프로그래밍으로 나 (객체) 는 과일장수(객체)에게 2000원을 주고 2개(data)의 사과(객체)를 구매했다(행동)] - 하나 이상의 상태정보(data). -> 변수 - 하나 이상의 행동(기능) -> 함수 일반적인 변수로 선언 Fruit apple ; Fruit banana; 동적할당 Fruit * p1 = new Fruit; >> 클래스에서 접근제어 지시자 없이 선언되면 private이다. 좋은 클래스의 조건 : 정보은닉과 캡슐화! 정보은닉 안전한 형태로 멤버 변수의 접..
바로 전 게시글에서 구조체에 대해서 알아봤다. 마지막에 구조체는 클래스의 일종으로 간주된다고 했었는데 클래스와 구조체의 다른점은 - 선언시 키워드 struct > class 로 바뀐다는 것 - 구조체변수 초기화의 방법을 사용하지 못한다. struct s = {1,2,3}; 클래스 내에서 선언된 변수는 클래스 내에 선 Car c1; 클래스의 접근제어 지시자 - public : 어디서든 접근허용 - protected : 상속 관계에서 유도 클래스에서 접근허용 - private : 클래스 내에서만 접근 허용 (클래스 내 정의된 함수) 윤성우 열혈 C++책에서 가져온 >> 접근제어 지시자 + namespace + enum + class 예제 정보은닉을 위해 변수는 private, 접근위한 함수는 public으로..
구조체는 연관있는 데이터를 하나로 묶어주는 씨언어 문법중 하나였다. 구조체 선언, 구조체 변수 선언 struct book { char title[20]; char author[20]; int price; }; struct Book mybook; book 이라는 구조체를 만드는 예제이다. - 구조체 선언시엔 반드시 마지막에 세미콜론(;) 을 써주어야한다. - 구조체 안에 있는 변수는 구조체 멤버라고 한다. 구조체 멤버로 접근 구조체변수.멤버 myBook.author 구조체 변수 초기화 구조체변수 = {멤버1초기값, 멤버2초기값...} mybook = {"C++","윤성우",30000} 함수와 구조체 1) 함수의 인수로 구조체의 인수를 전달> 구조체의 복사본을 이용해 작업함 struct wallet{ int..
힙 영역에서 동적 메모리 할당과 소멸에 malloc 과 free가 사용되었었다. (c언어) new 와 delete는 이걸 대체한다. (c++) malloc(sizeof(int) * num); free(nn); 1) 할당할 대상의 정보를 무조건 바이트단위로 전달 2) 반환형이 void 포인터형 >> 형변환 이를 new와 delete를 사용하면 불편한점이 사라진다. new 사용법 int *ptr1 = new int; double * ptr2 = new double; int *arr1 = new int[3]; double * arr2 = new double[7]; delete 사용법 delete ptr1; delete ptr2; delete []arr1; delete []arr2; new와 delete를 이용..
일단 변수란 무엇인가. 변수 : “할당된 메모리공간에 붙여진 이름” 우리는 변수의 이름을 통해 변수에 할당된 메모리 공간에 접근한다. 참조자(&) 참조자는 하나의 메모리 공간에 2개 이상의 이름을 부여하기 위해 생겨난 개념이다. 회사에서 홍길동이 있는데 외국계 회사라 고유 닉네임이 있고, 홍길동의 닉네임은 RED라고 가정해보자. 홍길동님 이거 오늘까지 마무리해주세요~ RED님 이거 오늘까지 마무리해주세요~ 해도 고유 닉네임이기 때문에 의사소통엔 문제가 없다. 참조자의 선언 참조자로 사용하고 싶은 변수명 앞에 &기호를 붙혀주면된다. int num = 5; int &n1 = num; 참조자의 특징 - 참조자의 수에는 제한이 없다. - 참조자의 참조자를 선언할 수도 있다. >> int& n2 = n1; - 참..