By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
426,247 Members | 1,989 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 426,247 IT Pros & Developers. It's quick & easy.

print derived class object contents

P: 4
This code compiles nicely - i am looking for print methods to make the output print the format shown below - i am looking for a function or method of calling the existing code objects to make them display like the below example - 'weaknessforcats' has given great advice but we can still add a function to that main() to get a display from the current objects in this type of format

Customer: Security
Telephone no#: (312)777-1111



Customer: Security
Telephone no#: (312)777-1111
No# phone lines: 10

___________________________________

Customer: Library
Telephone no#: (312)444-2222



Customer: Library
Telephone no#: (312)444-2222
No# phone lines: 8


Expand|Select|Wrap|Line Numbers
  1. // W I P_2                   //Tnum.h interface 
  2.  
  3. #include <iostream>        
  4. #include <string>
  5. #include <cstring>
  6. using namespace std;      
  7.  
  8. class Tnum {               
  9.  
  10. public:                
  11.     string NPA, NXX, LINE, P_NUM;
  12.  
  13.     Tnum( ) {cout <<"\n Tnum default constructor proof\n";}
  14.  
  15.     Tnum( string a,string b,string c );
  16.  
  17.     void ph_num( );
  18.  
  19.    ~Tnum( );
  20.  
  21.     string GetNPA( ) const { return NPA; }
  22.     void SetNPA( string g ) { NPA = g; }
  23.  
  24.     string GetNXX( ) const { return NXX; }
  25.     void SetNXX( string h ) { NXX = h; }
  26.  
  27.     string GetLINE( ) const { return LINE; }
  28.     void SetLINE( string i ) { LINE = i; } 
  29. };
  30.  
  31. Tnum::Tnum( string a,string b,string c ) {
  32.  
  33.     NPA  = a;
  34.     NXX  = b;
  35.     LINE = c;
  36.     P_NUM = NPA + NXX + LINE;  }
  37.  
  38. void Tnum::ph_num( ) {
  39.  
  40.     cout <<" \n Tnum parameterized constructor proof\n\n Type 3 digit area code then press 'ENTER' key  ";
  41.     cin >> NPA;
  42.  
  43.     cout <<" \n Type 3 digit prefix then press 'ENTER' key  ";
  44.     cin >> NXX;
  45.  
  46.     cout <<" \n Type 4 digit line number then press 'ENTER' key  ";
  47.     cin >> LINE;
  48.  
  49.     P_NUM = NPA + NXX + LINE; cout <<" \n Telephone no#: "<< P_NUM <<"\n"; }       
  50.  
  51. Tnum::~Tnum( ) {
  52.  
  53.     cout <<" \n Tnum destructor fx flushed object containing variable value "<< P_NUM <<"\n\n_________________________________________________________________________"<<endl;}
  54.  
  55. //________________________________________________
  56.  
  57.                                //WorTN.h interface                              
  58.  
  59. class WorTN : public Tnum { 
  60.  
  61. public:
  62.    string CustName;    
  63.  
  64.    WorTN( ) {cout <<"\n WorTN default constructor proof\n";}
  65.  
  66.    WorTN( string d );
  67.  
  68.    void cust_num( );
  69.  
  70.    ~WorTN( );
  71.  
  72.    string GetCustName( ) const { return CustName; }
  73.    void SetCustName( string j ) { CustName = j; }
  74. };
  75.  
  76. WorTN::WorTN( string d ) { CustName = d; }
  77.  
  78. void WorTN::cust_num( ) {
  79.  
  80.    cout << " \n WorTN parameterized constructor proof\n\n Type customer name then press 'ENTER' key  ";
  81.  
  82.    cin >> CustName; cout <<" \n Customer name: "<< CustName <<endl;  }
  83.  
  84. WorTN::~WorTN( ) {
  85.  
  86.    cout <<" \n WorTN destructor fx flushed object containing variable value "<< CustName <<"\n\n_________________________________________________________________________"<<endl;}
  87.  
  88.  
  89. //____________________________________________________________________________
  90.  
  91.                                //BTN.h interface                              
  92.  
  93. class BTN : public WorTN { 
  94.  
  95. public:
  96.    int NumWrkLines;
  97.  
  98.    BTN( ) {cout <<"\n BTN default constructor proof\n";}
  99.  
  100.    BTN( int e );
  101.  
  102.    void cust_num_lines( );
  103.  
  104.   ~BTN( );
  105.  
  106.    int GetNumWrkLines( ) const { return NumWrkLines; }
  107.    void SetNumWrkLines( int k ) { NumWrkLines = k; }
  108. };
  109.  
  110. BTN::BTN( int e ) { NumWrkLines = e; }     
  111.  
  112. void BTN::cust_num_lines( ) { 
  113.  
  114.    cout << " \n BTN parameterized constructor proof\n\n Type number of lines then press 'ENTER' key  ";
  115.    cin >> NumWrkLines;
  116.  
  117.    cout <<" \n No# of lines: "<< NumWrkLines <<endl;  }
  118.  
  119. BTN::~BTN( ) {
  120.  
  121.    cout <<" \n BTN destructor fx flushed object containing variable value "<< NumWrkLines <<"\n\n_________________________________________________________________________"<<endl;}
  122.  
  123. //___________________________________________________________________________________
  124.  
  125.                        //Tnum_main.cpp utilization
  126.  
  127. ostream &operator<<(ostream &print1, Tnum m) {
  128.    print1 << "\n Telephone no#: (" << m.NPA << ") ";
  129.    print1 << m.NXX << "-" << m.LINE << "\n";   
  130.    return print1; }
  131.  
  132. ostream &operator<<(ostream &print2, WorTN n) {
  133.    print2 << "\n Customer: "<< n.CustName << "\n";
  134.    return print2; }
  135.  
  136. ostream &operator<<(ostream &print3, BTN o) {
  137.    print3 << "\n No# phone lines: "<< o.NumWrkLines << "\n"; 
  138.    return print3; }
  139.  
  140. ostream& T( ostream& p ) { return p <<'\a'; }   
  141.  
  142. int main( ) {
  143.  
  144.    Tnum xx;     xx.ph_num( );           
  145.    WorTN yy;    yy.cust_num( );        
  146.    BTN zz;      zz.cust_num_lines( );  
  147.  
  148.    Tnum x( "(303) ","777-","1111" );
  149.    Tnum y( "(303) ","444-","2222" );
  150.    cout << x << y <<T<<T<<T<<T<<"\n__________________________\n";
  151.  
  152.    WorTN q( "Security" );
  153.    WorTN r( "Library" );
  154.    cout << q << r <<T<<T<<T<<T<<"\n__________________________\n";
  155.  
  156.    BTN s( 10 );
  157.    BTN t( 8 );
  158.    cout << s << t <<T<<T<<T<<T<<"\n__________________________\n";
  159.  
  160. system ("pause");      
  161. return 0;              
  162. }                      
  163.  
Feb 1 '10 #1
Share this Question
Share on Google+
1 Reply


P: 4
This code compiles nicely - i am looking for print methods to make the output print the format shown below - i am looking for a function or method of calling the existing code objects to make them display like the below example.

Customer: Security
Telephone no#: (312)777-1111



Customer: Security
Telephone no#: (312)777-1111
No# phone lines: 10

___________________________________

Customer: Library
Telephone no#: (312)444-2222



Customer: Library
Telephone no#: (312)444-2222
No# phone lines: 8


Expand|Select|Wrap|Line Numbers
  1. // W I P_2                   //Tnum.h interface 
  2.  
  3. #include <iostream>        
  4. #include <string>
  5. #include <cstring>
  6. using namespace std;      
  7.  
  8. class Tnum {               
  9.  
  10. public:                
  11.     string NPA, NXX, LINE, P_NUM;
  12.  
  13.     Tnum( ) {cout <<"\n Tnum default constructor proof\n";}
  14.  
  15.     Tnum( string a,string b,string c );
  16.  
  17.     void ph_num( );
  18.  
  19.    ~Tnum( );
  20.  
  21.     string GetNPA( ) const { return NPA; }
  22.     void SetNPA( string g ) { NPA = g; }
  23.  
  24.     string GetNXX( ) const { return NXX; }
  25.     void SetNXX( string h ) { NXX = h; }
  26.  
  27.     string GetLINE( ) const { return LINE; }
  28.     void SetLINE( string i ) { LINE = i; } 
  29. };
  30.  
  31. Tnum::Tnum( string a,string b,string c ) {
  32.  
  33.     NPA  = a;
  34.     NXX  = b;
  35.     LINE = c;
  36.     P_NUM = NPA + NXX + LINE;  }
  37.  
  38. void Tnum::ph_num( ) {
  39.  
  40.     cout <<" \n Tnum parameterized constructor proof\n\n Type 3 digit area code then press 'ENTER' key  ";
  41.     cin >> NPA;
  42.  
  43.     cout <<" \n Type 3 digit prefix then press 'ENTER' key  ";
  44.     cin >> NXX;
  45.  
  46.     cout <<" \n Type 4 digit line number then press 'ENTER' key  ";
  47.     cin >> LINE;
  48.  
  49.     P_NUM = NPA + NXX + LINE; cout <<" \n Telephone no#: "<< P_NUM <<"\n"; }       
  50.  
  51. Tnum::~Tnum( ) {
  52.  
  53.     cout <<" \n Tnum destructor fx flushed object containing variable value "<< P_NUM <<"\n\n_________________________________________________________________________"<<endl;}
  54.  
  55. //________________________________________________
  56.  
  57.                                //WorTN.h interface                              
  58.  
  59. class WorTN : public Tnum { 
  60.  
  61. public:
  62.    string CustName;    
  63.  
  64.    WorTN( ) {cout <<"\n WorTN default constructor proof\n";}
  65.  
  66.    WorTN( string d );
  67.  
  68.    void cust_num( );
  69.  
  70.    ~WorTN( );
  71.  
  72.    string GetCustName( ) const { return CustName; }
  73.    void SetCustName( string j ) { CustName = j; }
  74. };
  75.  
  76. WorTN::WorTN( string d ) { CustName = d; }
  77.  
  78. void WorTN::cust_num( ) {
  79.  
  80.    cout << " \n WorTN parameterized constructor proof\n\n Type customer name then press 'ENTER' key  ";
  81.  
  82.    cin >> CustName; cout <<" \n Customer name: "<< CustName <<endl;  }
  83.  
  84. WorTN::~WorTN( ) {
  85.  
  86.    cout <<" \n WorTN destructor fx flushed object containing variable value "<< CustName <<"\n\n_________________________________________________________________________"<<endl;}
  87.  
  88.  
  89. //____________________________________________________________________________
  90.  
  91.                                //BTN.h interface                              
  92.  
  93. class BTN : public WorTN { 
  94.  
  95. public:
  96.    int NumWrkLines;
  97.  
  98.    BTN( ) {cout <<"\n BTN default constructor proof\n";}
  99.  
  100.    BTN( int e );
  101.  
  102.    void cust_num_lines( );
  103.  
  104.   ~BTN( );
  105.  
  106.    int GetNumWrkLines( ) const { return NumWrkLines; }
  107.    void SetNumWrkLines( int k ) { NumWrkLines = k; }
  108. };
  109.  
  110. BTN::BTN( int e ) { NumWrkLines = e; }     
  111.  
  112. void BTN::cust_num_lines( ) { 
  113.  
  114.    cout << " \n BTN parameterized constructor proof\n\n Type number of lines then press 'ENTER' key  ";
  115.    cin >> NumWrkLines;
  116.  
  117.    cout <<" \n No# of lines: "<< NumWrkLines <<endl;  }
  118.  
  119. BTN::~BTN( ) {
  120.  
  121.    cout <<" \n BTN destructor fx flushed object containing variable value "<< NumWrkLines <<"\n\n_________________________________________________________________________"<<endl;}
  122.  
  123. //___________________________________________________________________________________
  124.  
  125.                        //Tnum_main.cpp utilization
  126.  
  127. ostream &operator<<(ostream &print1, Tnum m) {
  128.    print1 << "\n Telephone no#: (" << m.NPA << ") ";
  129.    print1 << m.NXX << "-" << m.LINE << "\n";   
  130.    return print1; }
  131.  
  132. ostream &operator<<(ostream &print2, WorTN n) {
  133.    print2 << "\n Customer: "<< n.CustName << "\n";
  134.    return print2; }
  135.  
  136. ostream &operator<<(ostream &print3, BTN o) {
  137.    print3 << "\n No# phone lines: "<< o.NumWrkLines << "\n"; 
  138.    return print3; }
  139.  
  140. ostream& T( ostream& p ) { return p <<'\a'; }   
  141.  
  142. int main( ) {
  143.  
  144.    Tnum xx;     xx.ph_num( );           
  145.    WorTN yy;    yy.cust_num( );        
  146.    BTN zz;      zz.cust_num_lines( );  
  147.  
  148.    Tnum x( "(303) ","777-","1111" );
  149.    Tnum y( "(303) ","444-","2222" );
  150.    cout << x << y <<T<<T<<T<<T<<"\n__________________________\n";
  151.  
  152.    WorTN q( "Security" );
  153.    WorTN r( "Library" );
  154.    cout << q << r <<T<<T<<T<<T<<"\n__________________________\n";
  155.  
  156.    BTN s( 10 );
  157.    BTN t( 8 );
  158.    cout << s << t <<T<<T<<T<<T<<"\n__________________________\n";
  159.  
  160. system ("pause");      
  161. return 0;              
  162. }                      
  163.  
Feb 1 '10 #2

Post your reply

Sign in to post your reply or Sign up for a free account.