|
남병철.레조 님이 쓰신 글 :
:
: 안녕하세요? 레조입니다.
:
: 일단 time.h는 이미 있는 헤더파일입니다.
: 이름을 바꾸시는게 좋을듯 싶습니다.
:
: /* time.h
:
: Struct and function declarations for dealing with time.
:
: */
:
: /*
: * C/C++ Run Time Library - Version 10.0
: *
: * Copyright (c) 1987, 2000 by Inprise Corporation
: * All Rights Reserved.
: *
: */
:
: 몇가지 의심가는게 있지만 테스트 하신 소스를 그냥 또는 간단화해서 올려주시면
: 다른 분들이 살펴보기에도 좋을것 같습니다.
: (요즘 PHP만 해서 함부로 입을 놀리기 힘드네용.. --;)
:
:
:
: jon76 님이 쓰신 글 :
: : 안녕하세요. 전 학생인데요.. 이번에 C++를 좀 공부해볼려고 그러거든요.
: :
: : 그런데 처음에 배울때는 제대로 하고 싶은 마음에 비주얼 c++이나 C++ 빌더가 있어도.
: :
: : 일부러 볼랜드 c++ 컴파일러랑 울트라에디터를 연결해서 사용중입니다.
: :
: : 여기까지는 그렇고요
: :
: : 제가 궁금하건요. 그냥 간단하 한개의c++ 소스 파일을 작성해서 돌리면 잘 되는데..
: :
: : 이렇게 하면 자꾸 에러가 뜨더군요..
: :
: : ===
: :
: : 1. time.h라는 헤더 파일을 만들고요..( 클래스 멤버와 메소드만 정의 한거요..)
: : 2. time.cpp라는 클래스 정의에서 선언된 메소드 구현한 파일 (물론 헤더 파일은 include ""하고요)
: : 3. 그리고 main이 있는 xxx.cpp 파일인데요..( 여기서도 헤더파일은 포함합니다)
: :
: : 이렇게 만들고 main 파일을 컴파일 하면,
: : 자꾸 unresolved referece Time::... 하면서 에러가 뜨거든요...
: : 거 obj 파일창이 뜨면서 숫자앞에 커서가 가 있거든요..
: :
: : 정확히 이렇게 뜹니다..
: :
: : Borland C++ 5.6 for Win32 Copyright (c) 1993, 2002 Borland
: : D:\Borland\C++\Chap16\fig1607.cpp:
: : Turbo Incremental Link 5.60 Copyright (c) 1997-2002 Borland
: : Error: Unresolved external 'Time::Time(int, int, int)' referenced from D:\BORLAND\C++\CHAP16\FIG1607.OBJ
: : Error: Unresolved external 'Time::printMilitary()' referenced from D:\BORLAND\C++\CHAP16\FIG1607.OBJ
: : Error: Unresolved external 'Time::printStandard()' referenced from D:\BORLAND\C++\CHAP16\FIG1607.OBJ
: :
: :
: : (아마도 링크가 잘 안돼서 그런거 같은데.. )
: :
: : 비쥬얼 스튜디오에서 하면 되더라구요.
: :
: : 또 울트라에디터에서도 2번 파일 밑에 바로 main을 넣어서 컴파일 하면 되거든요
: :
: : 근데 1,2,3 으로 나눠서 하면 에러가 뜨거든요..
: :
: : 어떻게 해야 하죠
: :
: : bcc32.cfg 나 ilink32.cfg는 텍스트 파일에 나와있는데로 했거든요..
: :
: : 뭐가 문제인지 잘 모르겠습니다.
: :
: : 패스가 문제인가요?
: :
: : 지나가시다가 많은 도움들 주시기 부탁드립니다.
: :
: : 그럼 항상 즐거운 하루하루가 되시길..
: :
: : ps : 그리고 저기 제이빌더는 어디가니까 친절하게 사용법을 잘 만들어놓은 홈페이지가 있던데
: : c++ 빌더 사용법은 어떤 분이 만들어서 운영하는 곳은 없나요?
파일 구성을 간략하게나마 올리겠습니다.
timp.h
class Time {
public :
Time();
void setTime( int , int ,int);
void printMilitary();
void printStandard();
private :
int hour;
int minute;
int second;
};
===============================================
time.cpp
#include <iostream>
using std::cout;
using std::endl;
#include "time.h"
Time::Time() { hour = minute = second = 0 ; }
void setTime( int h, int m, int s) {
hour = ( ( h >=0 || h < 24 ) ? h : 0 );
minute = ( ( m >=0 || m < 60) ? m : 0 );
second = ( ( s >=0 || s < 60) ? s : 0 );
}
void Time::printMilitary() {
cout << ( hour < 10 ? "0" : "" ) << hour << ":"
<< ( minute < 10 ? "0" : "" ) << minute << endl;
}
void Time::printStandard() {
cout << (hour == 0 || hour == 12 ? 12 : hour) << ":"
<< ( minute < 10 ? "0" : "") << minute << ":"
<< ( second < 10 ? "0" : "" ) << second MM ":"
<< ( hour < 12 ? "AM" : "PM"); endl;
}
==================================================================
fig1607.cpp
#include <iostream>
using std::cout;
using std::endl;
#include "time.h"
int main() {
Time t;
cout << "Initial Time\n";
t.printMilitary();
t.printStandard();
t.setTime( 13, 24, 23);
cout << "\nAfter time setting\n";
t.printMilitary();
t.printStandard();
t.setTime(99,99,99);
cout << "\nAfter Iilegal time setting\n";
t.printMilitary();
t.printStandard();
return 0;
}
|