검색결과 리스트
글
암호학 자료
http://infosec.kut.ac.kr/sangjin/class/cryptoprog0701/note01.pdf
http://infosec.kut.ac.kr/sangjin/class/cryptoalgo2010-01/chap04.pdf
http://marcof.tistory.com/58
http://system.kcu.ac/opendept/crypto/sub/sub04.htm
http://math88.com.ne.kr/crypto/DES/2des.html
'Cryptography' 카테고리의 다른 글
암호학 2주차 스터디 (0) | 2014.09.27 |
---|---|
암호학 스터디 1주차 (0) | 2014.09.24 |
설정
트랙백
댓글
글
09/18 c++ 강의
string 클래스
c++ 표준 클래스 문자열의 크기에 따른 제약 없음 -string 클래스가 스스로 문자열 크기에 맞게 내부 버퍼를 조절한다. 문자열 복사, 비교, 수정들을 위한 다양한 함수와 연산자 제공 객체 지향적 <string> 헤더 파일에 선언 C-스트링 타입보다 다루기 쉽다. |
string 변수명 ("문자열") 형태로 사용이 가능하다.
기존 c언어에서 문자열을 출력함과 동시에 선언까지 한꺼번에 해준다고 생각하면 편하다.
일일히 문자열의 버퍼 크기를 지정해줄 필요는 없지만, 배열형태로 사용이 가능하기에 그냥 이름만 붙여서 선언하면 []형태의 배열로 사용이 가능하다. 또한
cout << "문자열" + hello + "문자열 2" ;
와 같은 형태로 hello 라는 변수명을 가진 문자열을 + 형태로 이어서 출력해주는것이 가능하다.
string 방식과 c-string 방식 두가지 방식으로 사용하는 것이 가능한데
"cin.getline(name,10,'\n');"
c- string 방식은 위와 같이 사용한다.
"getline(cin,변수명);"
string 방식은 위와 같이 사용하는데, 이떄 string 파일을 include 해주어야 한다.
객체와 클래스
객체는 상태와 행동으로 구성된다. (state , behavior)
상태에 대한 내용은 멤버 번수로 표현된다.
행동에 대한 내용은 멤버 함수로 표현되는데, 연산 또는 기능이라고도 한다.
클래스
-객체를 만들어내기 위해 정의된 설계도 또는 틀
-클래스는 객체가 아님. 실체도 아님.
-멤버 변수와 멤버 함수 선언.
객체
-객체는 생성될 떄 클래스의 모양을 그대로 가지고 탄생한다.
-멤버 변수와 멤버 함수로 구성된다.
-메모리에 생성되며 실체(instance)라고도 부른다.
-하나의 클래스 틀에서 찍어낸 여러 개의 객체 생성이 가능하다.
-객체들은 상호 별도의 공간에 생성된다.
같은 클래스에서 만들어졌더라도 다른 객체가 나올 수 있다. - 상세적인 값이 달라질 수 있다. (구조체의 성격)
클래스는 멤버 변수와 멤버 함수로 구성. 클래스 선언부와 구현부로 구성된다.
클래스 선언부
-class 키워드를 이용하여 클래스 선언
-멤버 변수와 멤버 함수 선언 :
멤버 함수는 원형 형태로 선언되며 클래스 선언 내에서 초기화할 수 없다.
-멤버에 대한 접근 권한 지정 :
private,public,protected중의 하나이며 기본값은 private이다. public은 다른 모든 클래스와 객체에서 멤버의 접근이 가능하다는것을 표시한다.
클래스 선언부 예
"class circle { public : int radius; // 멤버 변수 double getArea(); //멤버 함수 }; "
클래스 구현부 예
"double circle::getArea(){ return 3.14*radius*radius }; "
'programing' 카테고리의 다른 글
10-2 C++ (0) | 2014.10.02 |
---|---|
c++ 강의 9/11 (0) | 2014.09.11 |
파일 위치 지시자 (0) | 2014.06.07 |
calloc realloc 조사 (0) | 2014.06.06 |
ftell, fseek 함수 (0) | 2014.05.31 |
설정
트랙백
댓글
글
c++ 강의 9/11
iostream - Input Output stream :
c언어의 stdio 에 대응
cout,cin - C-output, C-input :
outpu과 input, 즉 출력과 입력을 의미하며 << (쉬프트 연산자)와 함께 사용된다.
쉬프트 연산자 - << :
해당 쉬프트 연산이 가리키는 방향으로 값을 넣어준다고 이해하자.
예를들어 A << B 라면 A에 B의 값을 인자로 넘겨 A를 호출한다고 생각할 수 있다.
std:cout << " A + 3 = " << a+3 << std::endl;
또한 기존 c언어 문법에서 사용하던 %d나%c 같은 서식문자를 사용하여 변수를 호출하는 대신, << 쉬프트 연산자를이용하여 변수나 함수, 연산식을 바로바로 호출할 수 있다.
std- Standard
'일반적이다' 라고 이해하면 될것같고, std::cout 와 같은 형태로 사용된다, 죽 이어서 읽어본다면 Standard C output 이 되며 출함수로 c언어의 printf 에 대응된다.
C언어와 마찬가지로 std::cout (printf) 에서 함수의 리턴값을 호출하거나 연산식의 호출 또한 가능하다.
std:cout << "n+5 =" << n+5;
Namespace-이름공간:
이름충돌이 발생하는 경우 - 여러명이 서로 나누어 프로젝트를개발하거나, 오픈소스&다른사람이 작성한 코드나 목적파일을 가져와 컴파일 하거나 링크하는 경우에 주로 발생한다.using naemespace std; 라는 코드를 통해 이후의 namespace에 일일히 std를 입력하지 않아도 이름공간에 std가 저절로 들어가게 해줄 수 있다. 또한 namespace는 변수명이나 구조체, 함수처럼 선언하여 사용하는것이 가능하다.
namespace hello { int a=3; int b=4; } // hi::a, hi::b 와 같은 형태로 이름공간 내의 변수 선언, 호출이 가능하다. using namespace std; // std 이름공간을 사용하겟다고 선언 int main(){ cout << "a값 : " << hello::a <<"b 값 : "<< hello ::b << '\n'; } |
변수의 선언 :
절차지향적인 c언어에서는 변수의 선언이 함수나 프로그램의 상단에서 이루어져야 했다면, 객체지향적인 C++언어에서는 변수의 선언이 함수나 프로그램의 상단에서 할 필요 없이 프로그램이 진행되는곳 어디에서나 가능하다.
연습문제1:
#include <iostream> using namespace std; namespace network{ int count; void Test() { cout << "\n 통신을 테스트 합니다."<<endl ; }; } namespace Data{ int count; void Test() { cout << "\n 데이터 처리 작업을 수행합니다. "<<endl ; }; } int main() { cout << "통신 횟수 입력 : " ; cin >> network::count; cout << "\n데이터 처리 횟수 입력 : "; cin >> Data::count; int count; for(count=0;count!=network::count;count++) network::Test(); for(count=0;count!=Data::count;count++) Data::Test(); cout << "\n"; return 0; } |
연습문제 2:
#include <iostream> using namespace std; namespace Vals{ namespace Valin{ int n1; }; int n2; }; namespace Sum{ int CalFunc(int n1,int n2) { return n1+n2; }; }; namespace Minus{ int CalFunc(int n1,int n2) { return n1-n2; }; }; int main() { cout << "값1 : "; cin >> Vals::n2; cout << "값2 : "; cin >> Vals::Valin::n1; Sum::CalFunc(Vals::n2,Vals::Valin::n1); cout<<"Minus = " << Minus::CalFunc(Vals::n2, Vals::Valin::n1) << endl; } |
c언어와는 약간 다른 생소한 방식의 c++ 언어이지만, 기본적으로는 c언어의 문법을 그대로 가져다 쓰는것이 많고, c언어에서 파생되어 나왔기 때문인지 c언어와 많은 부분이 닮아있었다. 기존 c언어의 지식을 얼마나 잘 활용하느냐가 c++언어를 익히는데에 중요하게 작용할 것 같다.
'programing' 카테고리의 다른 글
10-2 C++ (0) | 2014.10.02 |
---|---|
09/18 c++ 강의 (0) | 2014.09.18 |
파일 위치 지시자 (0) | 2014.06.07 |
calloc realloc 조사 (0) | 2014.06.06 |
ftell, fseek 함수 (0) | 2014.05.31 |
RECENT COMMENT