|
BC++ 5.5가 VC++보다 ANSI C++ 표준을 더 잘지키는 차이만 있을 뿐,
둘다 C++ 컴파일러입니다.
VC++ 가 ANSI C++ 표준에 맞지 않는 몇가지 문제점
(MSDN 등을 검색하시면 나올 겁니다.)만 주의하시면(VC++의 불편한 점 중 하나죠),
콘솔 프로그램 작성 방법은 둘다 같다고 할 수 있습니다.
BC++ 5.5는 프리웨어이므로, 학교든지 PC방이든지 아무데나 설치해도 무방할 겁니다.
노현호 님이 쓰신 글 :
: 감사합니다. 제가 넘 모르는게 많아서요.. 학교에서는 그냥 vc++로만 하기 때문에
: 이런일이 생기는것 같아요^^
: 앞으로도 많은 도움 부탁드립니다.
:
: 김백일 님이 쓰신 글 :
: : 그러니까 클래스 이름을 string이라고 하면 당연히 안됩니다!
: : MyString 정도로 이름을 바꾸세요.
: : (String란 이름도 좋지 않습니다.
: : 이것은 빌더 VCL의 문자열 클래스인 AnsiString과 동일한 타입입니다.)
: :
: : 굳이 string이란 이름을 써야 한다면, namespace(이름 공간)을 쓰는 방법이 있습니다.
: : ANSI C++ 라이브러리에 있는 클래스와 함수들은 std라는 이름 공간에 있습니다.
: : 그래서 ANSI C++ 라이브러리를 쓸 때는 std:: 를 클래스나 함수 앞에 붙이던가,
: : std::cout << "namespace std" << std::endl;
: : 또는
: : using namespace std;
: : cout << "namespace std" << endl;
: : 명령을 써야 합니다.
: :
: : 이와 같이 이름이 충돌되는 경우에는
: : 님의 작성한 클래스를 새로 namespace를 만들어서 넣습니다.
: :
: : namespace ikki {
: : class string {
: : // 어쩌구 저쩌구
: : };
: : };
: :
: : std::string과 구별하기 위해서는
: : ikki::string이라고 쓰면 됩니다.
: :
: : 참고로 ANSI C++의 std::string은 매우 강력하고 편리한 문자열 클래스입니다.
: : 숙제 땜에 꼭 만들어서 제출해야할 경우가 아니라면,
: : 문자열 처리를 위해 직접 클래스를 만드시지 마시고,
: : std::string을 사용하세요!
: :
: : 노현호 님이 쓰신 글 :
: : : 자주 들르면서 많은 정보를 얻고 있는 초보입니다.
: : : 학교에서는 vc++로 수업하지만 저는 집에서 볼랜드 c++5.5로 작업을 합니다.
: : : 그런데 아래와 같은 소스를 학교에서 하면 아무런 에러없이 컴파일이 되는데
: : : 집에서 하면 에러가 발생합니다.
: : : 왜 그러는지 자세히 알고 싶습니다. 이전에 했던 이거와 비슷한 연산자의 다중정의에서 int형으로만 되어 있는 정수형의 계산에서는 볼랜드 컴파일러에서도 아무런 에러가 없었습니다.
: : :
: : : 수업시간에 작성한 것입니다. 문자열을 합치는 것인데 맴버함수에 의한 연산자의 다중정의에 관한 부분입니다.
: : :
: : :
관련 글 리스트
|