본문 바로가기

반응형

분류 전체보기

(170)
C++/소멸자 소멸자란? 객체가 생성시 생성자가 생성되는 것처럼 객체 소멸 시 소멸자 함수가 반드시 실행된다. 소멸자(destructor)는 객체가 소멸 되는 시점에서 자동으로 호출되는 클래스의 멤버 함수이다. 소멸자의 특징* 소멸자의 목적은 객체가 사라질 때 필요한 마무리 작업을 하기 위함이다. * 소멸자의 이름은 클래스 이름 앞에 ~를 붙인다.* 소멸자는 리턴 타입이 없으며 어떤 값도 리턴해서는 안된다.* 소멸자는 오직 한 개만 존재하며 매개 변수를 가지지 않는다.* 소멸자가 선언되어 있지 않으면 기본 소멸자(default destructor)가 자동으로 생성된다. 소스 코드 123456789101112131415161718192021222324252627282930313233343536#include using ..
C++/예제/클래스/ Rectangle 클래스 만들기 문제 조건 * Rectangle 클래스는 width와 height의 두 멤버 변수를 가진다.* Rectangle 클래스는 3개의 생성자를 가진다.* 3개의 생성자는 기본생성자, 너비와 높이, 길이를 파라미터 값으로 가진다.* Rectangle 클래스는 정사각형 여부를 판독하는 isSquare() 함수를 가진다.* isSquare() 함수는 bool 값인 0 또는 1 , false 또는 true를 리턴한다. 소스 코드 12345678910111213141516171819202122232425262728293031323334353637383940#include using namespace std; class Rectangle {public: int width, height; Rectangle(); Recta..
C++/컴파일러에 의한 생성자 자동생성 기본 생성자는 프로그래머가 클래스 생성시 기본 생성자를 생성하지 않은 경우 컴파일러에 의해서 자동으로 생성된다. 가. 생성자를 선언하지 않은 Circle 클래스 12345678910 class Circle {public: int radius; double getArea();}; int main(){ Circle donut;}cs 나. 컴파일러에 의해서 기본 생성자 자동 삽입 12345678910111213class Circle{public: int radius; double getArea(); Circle();}; Circle::circle(){} int main() { Circle donut;}cs 만약 하나의 아래와 같은 생성자라도 생성되어 있을 경우에 컴파일러는 기본생성자를 생성하지 않으며, 기본생..
C/연산순서에 관한 예시 12345678910111213#includeint main() { int a=2,b=3,c=4,d; d = a*b+c >= 8&& c/a -b != 0; // Test code // int f; // f = 8&& c/a-b; // printf("%d\n",f); printf("%d",d); return 0;}Colored by Color Scriptercs 연산과정 d의 연산순서를 크게 따지면 a*b+c >= 8, c/a -b != 0 이렇게 논리연산자를 기준으로 나눌수있다.이렇게 나눠논 연산자의 우선순위는 산술연산의 우선순위가 높으므로 산술연산자인 * / % + - 를 먼저 연산하고 관계연산자를 연산한다. a*b+c 를 먼저 연산하면, 10c/a -b 를 먼저 연산하면, -1이후 관계연산자를 연산하..
Android/drozer - 안드로이드 동적 디버깅 환경 구성 drozer는 mwrinfosecurity에 서 만든 툴이다. 공개된 CVE 취약점 몇개를 실행할 수있는 모듈을 가지고 있고, 취약점 진단에 필요한 명령어를 담고있는 busybox, 루팅을 시키는 towelroot 앱을 인스톨 할 수 있는 모듈도 가지고 있다. 설치파일은 https://labs.mwrinfosecurity.com/tools/drozer/ 에서 받을 수 있으며,mwrinfosecurity에서 가이드도 제공하고 있다.설치는 윈도우에서 진행 했으므로 윈도우 만 기록한다. 1. 받은 압축파일의 압축을 풀면 윈도우즈에서 설치가가능한 setup 파일과 apk가 나온다. setup 먼저 설치한다.2. 설치가 끝났으면 android virtual emulator에 agent.apk를 설치한다. 3. 설..
Android/Sidesync/갤럭시 j7 frp 해제 factory reset protection을 sidesync로 열리는 구글 브라우저로 뚫어서 구글 계정을 초기화 시킬 수 있다.sidesync가 pc에서 설치되어 디바이스와 연결될 때 디바이스에 sidesync 어플리케이션이 설치되있지 않으면 바 형식으로 설치할 수있는 선택지를 준다.그 중에 크롬 브라우저 선택지가 있는데 크롬 브라우저가 열리는 것으로 frp를 우회할 수 있다. 1. 먼저, PC에 sidesync를 설치한다.(이 이후과정에서는 디바이스가 pc에 정상적으로 연결이 된다는 가정하에 진행한다. 여기서 연결이안된다면, 삽질 몇시간의 결과 내문제는 케이블을 교체하면서 정상적으로 진행할 수 있었지만 일반적으로는 삼성 홈페이지에서 제공하는 통합 드라이버를 받아 설치하고 재부팅을 하고 드라이버가 로드..
C/C언어의 유래 단어immersed : 집어 넣은. ran on : ~에대해 계속 논의 되다.diverge : 갈라지다.stable : 안정된 C는 Unix를 개발할때 쓰인 언어이다. DEC PDP-7때 쓰였고 그때 마이크로 컴퓨터는 8k 워드의 메인 메모리를 가지고 있었다. ref : https://www.google.co.kr/search?q=DEC+PDP-7&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjn5ZfCtfnVAhWDGJQKHQd7Cf4Q_AUICigB&biw=1536&bih=798#imgrc=_ 어셈블리로 쓰인 유닉스는 디버깅을 할때 정말 고통스러웠다고.. 그래서 유닉스는 예외처리가 없었고, 톰슨씨는 고급레벨의 언어가 나중 유닉스 버전에 필요하다고 느꼈다고함. 처음에 B를 짰고, ..
OSI 7 계층 정리 OSI 계층마다 데이터의 모습은 다르다.상위 계층 3개는 어플리케이션에서 처리하위 계층 4개는 전송기능을 수행. OSI 7계층 의동작. 7계층 7계층이 하는일은 사람과 대화하는일 이다. 명령창을 띄운다든지, GUI 를 띄운다든지. 사용자가 시스템을 사용할 수 있는 환경을 제공 *7계층 이외에는 사용자가 직접 접근할 수 없다.7계층은 프로그램으로 이루어져있으며, 프로그램을 통해 하위 계층에 접근할 수 있다. - 프로그램을 짜서 접근 , API를 사용. 6계층 보내는 데이터인 그림이나 글자는 내부적으로 다른 이진수 조합이다. 사용자한테 보여주는부분이 아닌 이진수적으로 어떻게 보낼지 약속한것. 이 부분을 인코딩이란 말이 적합하며, 사용자가 볼수 있게 만드는 것은 디코딩으로 볼 수 있다. - 정의로는 데이터를 ..

반응형