본문 바로가기

Language, IDE

(50)
[C/C++] 문자 조작 함수2 라이브러리에는 문자를 조작하는 함수들이 있다. 대문자를 소문자로 바꿔주거나 소문자를 대문자로 바꿔주는 함수나 해당 문자가 어떤 문자인지를 판별할 수 있는 함수들이 있다. 문자 하나를 다뤄주는 함수이므로 문자열을 다루러면 반복문으로 문자하나당 적용하여야 한다. 5. isalpha - 알파벳인지 여부 확인 인자가 알파벳 문자이면 0이 아닌 수(true)를 알파벳 문자가 아니면 0(false)를 리턴한다. cout
[C/C++] 문자 조작 함수1 라이브러리에는 문자를 조작하는 함수들이 있다. C언어의 경우에는 에 포함되어 있다. 대문자를 소문자로 바꿔주거나 소문자를 대문자로 바꿔주는 함수나 해당 문자가 어떤 문자인지를 판별할 수 있는 함수들이 있다. 문자 하나를 다뤄주는 함수이므로 문자열을 다루러면 반복문으로 문자하나당 적용하여야 한다. 1. toupper - 소문자를 대문자로 변환해 리턴 (lower to upper) 소문자를 대문자로 변환해 리턴한다. char ch = toupper('a'); cout
[C/C++] C스트링 C++에서는 스트링을 C스트링과 STL의 스트링 클래스로 제공한다. C스트링은 C에서 계승된 방식으로 char배열 형태로 나타낸다. char배열에 끝에 '\0'문자(널 문자)를 넣어 문자열의 끝을 나타낸다. 예를들어 "hello world"를 저장한다고 하면 11문자 + 널문자를 해서 총 12개의 배열공간이 필요하다. 선언 c스트링은 char 변수이름[최대문자열길이+1]; 형태로 선언한다. char str[10]; 초기화 c스트링은 =키워드를 이용하여 초기화 할 수 있다. char str[10] = "hello"; 이렇게 하면 배열에 str[0] str[1] str[2] str[3] str[4] str[5] str[6] str[7] str[8] str[9] h e l l o \0 ? ? ? ? 이같이 저..
[C++] 연산자 오버로딩 C++ 연산자 오버로딩 C++에는 클래스를 인자로 가지는 연산자를 오버로딩할 수 있다. 연산자 오버로딩은 인자가 하나이상이 클래스여야 한다.연산자 오버로딩의 방법으로는 세가지 방법이 있다. 1. 프렌드가 아닌 독립적으로 구현.2. 클래스의 멤버로 구현.3. 프렌드 함수로 구현. ※ 참고1. = , [], ->, () 연산자는 멤버로만 구현된다.2. 연산자 우선순위를 변경할 수 없다.3. 단항연산자를 이항연산자로 이항연산자를 단항연산자로 오버로딩할 수 없다. 1. 프렌드가 아닌 독립적으로 구현.return타입 operator 연산자(파라미터){구현}일반 함수 구현과 같고 파라미터는 call-by-value와 call-by-reference모두 가능하다.파라미터는 반드시 하나이상은 클래스가 포함되어야 한다...
[C++] 프렌드 함수 C++ 프렌드 함수 프렌드 함수란 클래스의 멤버 함수는 아니지만 클래스에 friend 함수라고 선언을 해줌으로써 클래스의 멤버 함수처럼 private 멤버에 접근할 수 있는 함수이다. 일반함수뿐만 아니라 연산자 오버로딩또한 프렌드 함수로 구현할 수 있다.프렌드 함수는 하나 이상의 클래스와 프렌드 함수가 될 수 있다. 프렌드 함수는 클래스 정의부분에 friend 키워드를 사용하여 정의하고 실제 구현부분에서는 키워드를 사용하지않고 일반 함수와 똑같이 구현한다. 그림과 같이 MyClass의 멤버 함수가 아닌 friendFunction을 friend함수로 선언해줌으로써 MyClass의 멤버변수인 member를 접근할 수 있게 되었다.friendFunction함수는 MyClass의 멤버 함수가 아니기때문에 .연산..
[C++] 클래스 디폴트 접근 제어자 C++ 클래스 디폴트 접근 제어자 C++에서 클래스에 public: , private: 중 어느것도 가지지 않으면 디폴트로 private가 된다.
[C++] .연산자와 ::연산자 C++ . 연산자와 :: 연산자 C++에서 클래스에서 사용되는 두 연산자 .연산자와 ::연산자는 모두 멤버변수가 어느 클래스에 속하는지를 결정하는 연산자이다. 차이점은 .연산자는 객체에 사용되고 ::연산자는 클래스에 사용된다. MyClass myclass; 가 정의되었고 MyClass내에 myFunction이 정의되었다고 하면 .연산자는 myclass.myFunction()으로 객체가 함수를 호출하는데 사용되고 ::연산자는 void MyClass::myFunction()으로 클래스를 정의할때에 사용되거나 static으로 구현된 함수를 클래스에서 호출하는데 사용된다. 자바에서는 .연산자와 ::연산자가 .연산자 하나로 구현되어 차이가 없지만 C++에서는 둘이 구분되어 있다. 자바에서 MyClass.myFun..
[C++] 디폴트 인자 C++ 디폴트 인자 C++ Default Argument C++에서는 디폴트 인자를 지정할 수 있다. 디폴트 인자는 대응하는 인자를 넘겨주지 않으면 디폴트 값으로 대체되는 방식이다. 디폴트 인자는 아래의 사진과 같이 사용할 수 있다. 매개변수에 값을 지정해주면 인자를 넘겨주지 않았을 경우 디폴트 값으로 사용된다. 디폴트값은 가장 오른쪽을 우선으로 한다. 위에서 보면 1,2,3을 넘겨 주었을때는 4번 매개변수가 디폴트 값으로 지정되었고 1,2를 넘겨 주었을때는 3,4번 매개변수가 디폴트 값으로 지정되었다. 따라서 디폴트 인자는 중간의 값을 생략할 방법은 없다. 디폴트 인자는 처음 정의될때에만 사용할 수 있다. 이와 같은 방법은 되지만 ERROR 함수 선언에서와 정의에서 모두 표현한 경우 이같은 방법과 선언..