home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / gnu / g / help / 1063 < prev    next >
Encoding:
Text File  |  1992-07-30  |  1.3 KB  |  42 lines

  1. Path: sparky!uunet!darwin.sura.net!jvnc.net!rutgers!orstcs!fog.CS.ORST.EDU!budd
  2. From: budd@fog.CS.ORST.EDU (Tim Budd)
  3. Newsgroups: gnu.g++.help
  4. Subject: Simple Question
  5. Message-ID: <1992Jul30.163635.2036@CS.ORST.EDU>
  6. Date: 30 Jul 92 16:36:35 GMT
  7. Sender: usenet@CS.ORST.EDU
  8. Distribution: gnu
  9. Organization: Oregon State University, Computer Science Dept.
  10. Lines: 29
  11. Nntp-Posting-Host: fog.cs.orst.edu
  12.  
  13. Let me appologize in advance for what is probably a trivial question,
  14. and one that is probably asked incessantly.  Our support people seemed to 
  15. have installed g++ 2.2.2, but I can't locate any of the documentation or
  16. test cases.  I can get templates to work within a single file, but not
  17. split between two files.  Can somebody explain what I must do to get
  18. the following minimalist program to work.  At present it produces linker
  19. errors (at least on my machine).
  20.  
  21. ------file box.h ------------------
  22. template <class T> class box {
  23. public:
  24.     box(T val);
  25.     T getValue();
  26. private:
  27.     T value;
  28. };
  29. -----file box.cc -----------------
  30. # include "box.h"
  31. template <class T> box<T>::box(T val) : value(val) { }
  32. template <class T> T box<T>::getValue() { return value; }
  33. -----file test.cc --------------
  34. # include "box.h"
  35. # include <iostream.h>
  36. main() {
  37.     box<int> aBox(7);
  38.     cout << "abox contains " << aBox.getValue() << '\n';
  39. }
  40.  
  41. many thanks.
  42.