void main(){
while(1){
int result[100]={0}; //소인수분해의 결과값 저장 배열
int N=0; //소인수분해 할 정수
int K=2; //N을 나누어보는 수
int C=0; //소인수 계산처리를 위한 변수
int Y=1; //소인수 분해한 결과를 출력을 위한 변수
cout<<"소인수분해 하려는 값을 입력해 주세요(0 to quit) : "; cin>>N;
『 소멸자란?
소멸자란 객체의 사용이 끝난 후 객체에 대한 뒤처리 작업 등을 자동으로 수행 할 수 있도록 해주는
class의 멤버함수 이다. 소멸자를 사용하면 생성된 객체에 대한 뒤처리를 신경쓰지 않고 편하게 프
로그래밍을 할 수 있다. 단, 생성자와 마찬가지로 소멸자 함수가 하는 작업이 너무 많아지면 프로그
램의 이해가 어려워지고 오류 발생 위험이 높아지는 등의 문제가 있음으로 꼭 필요한 내용만 소멸자
함수에 포함시키는 것이 좋다.
1. 클래스로 만들어진 객체에 대한 뒤처리를 해주는 멤버함수이다.
(뒤처리 작업은 주로 동적메모리할당 해제를 의미한다.)
2. 소멸자 함수는 사용중인 객체가 소멸되는 시점에 자동으로 호출된다.
3. 소멸자 함수는 사용자가 직접 호출해 사용할 수 없다.
(함수의 호출은 명시적이지 않다.)
4. 소멸자 함수의 이름은 클래스의 이름과 동일하게 작성해야 한다. 단, 생성자 함수와 구분하기 위해
함수명 앞쪽에 ~ 연산자를 붙인다. ( ~는 틸드(tilde) 또는 bit not 으로 읽으면 된다. )
5. 소멸자 함수는 리턴 값이 void인 함수이어야 하며 void를 생략하여 함수를 선언하고 정의 한다.
(소멸자 함수는 리턴 값을 가질 수 없다.)
6. 소멸자 함수는 매개변수를 받아올 수 없다. 따라서 소멸자에 대한 오버로딩이 불가함으로 class
하나에 오직 한 개의 소멸자 함수만 존재해야 한다.
7. 소멸자 함수는 객체가 소멸될 때 마다 호출되어 소멸된 객체에 대한 뒤처리 작업을 한다. 따라서
전역객체에 대한 소멸자 함수는 프로그램 종료』
이승환선생님의 강의자료에서 퍼왔습니다.
소멸자에 대해서 자세히 알고 싶으면 c++을 공부하면 좋을 듯 싶다
일단 소멸자 얘기는 접어두고
이부분만 잘알면 쓰는데는 큰무리가 없을것이라 생각한다
메인함수의 끝으로 넣어두는 함수
(예를들면 프로그램을 종료하겠습니다.)
이런것을 atexit함수로 넣어놓으면 메인함수를 볼때 좀더 깔끔하지 않을까 하고 생각한다,
//헤더로는 stdlib.h s나 process.h 를 쓴다.
#include <stdlib.h> //abort 함수를 쓰기위한 헤더 선언
#include <iostream>
#include <conio.h>
using std::cout; //cout 함수를 편하게 쓰기 위한 방법.
using std::endl; //cout 함수를 편하게 쓰기 위한 방법.
// 위에처럼 쓰지말고 using namespace std; 를 쓰면 더욱 쉽게 쓸 수 있다.
void main () {
cout << "abort 함수를 실행시키도록 하겠습니다."<< endl;
cout << "아무키나 누르면 비정상적인 종료인 abort함수를 실행시키게 됩니다"<<endl;
getch();
abort(); //이것이 abort함수
}
//abort 함수에 대한 자세한 설명을 보려면 www.winapi.co.kr 에서 레퍼런스를 참조할것
// 또한 이 함수는 정상적인 종료가 아닌 비정상적인 종료를 알려드리는 바이다.
RECENT COMMENT