본문 바로가기

focu

C++ chpt9. 복사생성자// C 없음-------------------------------------------------------------------------// JAVA없음--------------------------------------------------------------------------// C++// Vector.hclass Vector{pubilc: Vector(const Vector& other);private: int mX; int mY;};// Vector.cppVector::Vector(const Vector& other) : mX(other.mX) , mY(other.mY){}// other 는 같은 클래스로 구현된 다른 개체로, 동일한 클래스에 있기 .. 더보기
C++ chpt8. const 멤버 함수// Vector.hclass Vector{public: void SetX(int x); void SetY(int y); int GetX() const; int GetY() const; void Add(const Vector& other);private: int mX; int mY;}; const 란?바꿀 수 없는 것// const 변수cosnt int LINE_SIZE = 20;LINE_SIZE = 10; // 컴파일 에러----------------------------------------------------------// const 메서드. 해당 개체 내부에서 해당 함수를 통해 접근할 경우 어떠한 것도 바꿀 수 없음int GetX() co.. 더보기
C++ chpt7. 생성자(Constructor)// JAVApublic class Vector{ private int x; private int y; // 기본 0으로 자동 초기화 // 매개변수 없는 생성자 // 안만들어도 상관없음 public Vector() // 위의 멤버 변수에 값을 지정하는 것과 같아서 필요성이 적음 { x = 0; y = 0; }}// JAVA 는 라이브러리를 만들어서 배포하는 할 때, cpp 와 헤더 파일이 분리 되어있지 않음// 패키지를 사용하는 사람들은 해당 소스코드를 볼 방법이 없음(publice, private 모두)// 또한 제작자는 위에서 부터 데이터를 보면서 무슨 데이터가 있는지를 볼 수 있기 때문에// priv.. 더보기
C++ chpt6. 개체지향 프로그래밍(OOP: Object-Orieted Programming)JAVA vs C++ JAVA클래스개체생성자함수 오버로딩힙에 개체 생성하기C++클래스개체생성자함수 오버로딩힙에 개체 생성하기스택에 개체 생성하기복사 생성자소멸자연산자 오버로딩C++ 에서는 OOP 와 OOP 가 아닌 것을 섞어 쓸 수 있음 (C 와의 호환성)C++ 은 언매니지드 언어이기 때문에 매니지드언어인 JAVA 에 없는 특별한 기능이 많음 OOP 란 뭘까?'사람들이 세상을 바라보는 방식' 직관적다음 이미지는 '사람' 을 예시로 들 때, 사람이 가지는 데이터나 행위에 대해 예를 든 것이다위 예시를 아래처럼 코드화하는 것이 OOP 의 방식이다.// JAVA 클래스public class Human{ private stri.. 더보기
C++ chpt5. 파일 입출력(I/O)ifstream파일 입력 ofstream파일 출력 fstream파일 입력 및 출력 파일 스트림에 >, 조정자도 사용가능 C 와의 파일열기 비교// CFILE *fp; // 읽기 전용으로 파일 열기fp = fopen("helloWorld.txt", "r");// 쓰기 전용으로 파일 열기 (파일이 없으면 해당 파일 생성)fp = fopen("helloWorld.txt", "w+");// 읽기와 쓰기 범용으로 파일 열기fp = fopen("helloWorld.txt", "r+");---------------------------------------------------// C++// 읽기 전용으로 파일 열기ifstream fin;fin.open("helloWorld.txt");// 쓰기 .. 더보기
C++ chtp3. 초기 C++ 의 새로운 기능들과 코딩 표준 - 전혀 사용하지 않는 기능들이 매두 많음- 현재에서는 오직 소수의 기능만 알아도 문제없음 bool 데이터형 (C++ 98, 모던 C++)참조(reference)개체지향 프로그래밍(OOP: object-oriented programming)... Bool 데이터형 C 일 때와 비교 예문// 만약 student 가 아니면if (IsStudent() == 0){ // ...}// 만약 student 라면if (IsStudent() == ){ // ...}-----------------------------------------------------------------// 만약 student 가 아니면if (IsStudent() == false){ .. 더보기
C++ chpt2. 입력(Input) ex) 배열 생성 후 해당 배열에 데이터 입력 char firstName[20];cin >> firstName; >> 연산자 extraction oprator (string 이 길 때는 공백을 기준으로 나눠서 읽어감) 정수형 읽기int hours;cin >> hours;cout 부동 소수점형 읽기 float price;cin >> price;cout C 의 scanf 와의 비교 공통 문제점'경계검사를 하지 않음'- 주소 접근으로 인해 '\0' 가 없인 길이 제어가 안됨- 매번 다른 string 마다 '\0' 로 추가 설정해줘야 됨 C 에서 해당 문제 해결 예시char line[512];char temp[512];char firstName[4];if (fgets(line, 512, st.. 더보기