• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 212
  • Last Modified:

inheritance in c++

/*******************************************************
 * These are the .h files for the question given by the textbook authors to
 * exercise 9.13 of Deitel & Deitel.  
 *******************************************************/

// P9_13.H
#ifndef P9_13_H
#define P9_13_H
#include <iostream.h>
 
class Point {
   friend ostream &operator<<(ostream&, const Point&);
public:
   Point(double = 0, double = 0);
   void setPoint(double, double);
   void print(void) const;
   double getX(void) const { return x; }
   double getY(void) const { return y; }
private:
   double x, y;
};
 
#endif
//*******************************************************
// P9_13Q.H
#ifndef P9_13Q_H
#define P9_13Q_H
#include "p9_13.h"
 
class Quadrilateral {
   friend ostream &operator<<(ostream&, Quadrilateral&);
public:
   Quadrilateral(double = 0, double = 0, double = 0, double = 0, double = 0,
                 double = 0, double = 0, double = 0);
   void print(void) const;
protected:
   Point p1;
   Point p2;
   Point p3;
   Point p4;
};
 
#endif
//*******************************************************
// P9_13T.H
#ifndef P9_13T_H
#define P9_13T_H
#include "p9_13q.h"
 
class Trapazoid : public Quadrilateral {
   friend ostream& operator<<(ostream&, Trapazoid&);
public:
   Trapazoid(double = 0, double = 0, double = 0, double = 0, double = 0,
             double = 0, double = 0, double = 0, double = 0);
   void print(void) const;
   void setHeight(double h) { height = h; }
   double getHeight(void) const { return height; }
private:
   double height;
};
 
#endif
//********************************************************
// P9_13PA_H
#ifndef P9_13PA_H
#define P9_13PA_H
#include "p9_13q.h"
 
class Parallelogram : public Quadrilateral {
   friend ostream& operator<<(ostream&, Parallelogram&);
public:
   Parallelogram(double = 0, double = 0, double = 0, double = 0,
                 double = 0, double = 0, double = 0, double = 0);
   void print(void) const;
private:
   // no private data members
};
 
#endif
//********************************************************
// P9_13R.H
#ifndef P9_13R_H
#define P9_13R_H
#include "p9_13pa.h"
 
class Rectangle : public Parallelogram {
   friend ostream& operator<<(ostream&, Rectangle&);
public:
   Rectangle(double = 0, double = 0, double = 0, double = 0,
             double = 0, double = 0, double = 0, double = 0);
   void print(void) const;
private:
   // no private data members
};
 
#endif
//********************************************************
// P9_13S.H
#ifndef P9_13S_H
#define P9_13S_H
#include "p9_13pa.h"
 
class Square : public Parallelogram {
   friend ostream& operator<<(ostream&, Square&);
public:
   Square(double = 0, double = 0, double = 0, double = 0,
          double = 0, double = 0, double = 0, double = 0);
   void print(void) const { Parallelogram::print(); }
private:
   // no private data members
};
 
#endif


0
delltrotter
Asked:
delltrotter
1 Solution
 
delltrotterAuthor Commented:
i am new to c++ and have just started classes and inheritance
i am using borland c++ builder and i was wondering does anyone know how to set up a project properly as when i tried to run the abive program it was unable to link any of the headerfiles

0
 
The_BrainCommented:
Is this an assignment by chance?
0
 
delltrotterAuthor Commented:
yes but i have it done i only want to know how to run it
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
viktornetCommented:
Are you sure you are using Borland C++ Builder (it's for Windows)??? Is that what you are using... or is it simply a compiler for DOS?? Anyway, you should #include all the header files that you need...

exampe....

#include "MyHeaderFile.h"
if the header file is in your INCLUDE folder then you use
#include <MyHeaderFile.h>

YOu usually have to show the full path.. I don't know about all the compilers, but that's the way mine works.. (it's an old one for DOS)....

If you are using Borland C++ Builder then you should create a folder and out all the files from your project there... Then you put all the header files at the same folder, and do this///

#include "myheaderfile.h"

for each of the header files that you have...

Hope this helps...

-Viktor
--Ivanov
0
 
nietodCommented:
Unfortunately, I am away from home now so I don't have builder with me.  But you want to create a "win32 console project" for this.  A "win32 console program" is like a DOS program or like a program that standard C++ was designed to run as.  It has a standard output device (the screen) and a standard input device (the keyboard) that work like standard C++ requires.  A windows GUI program (the other type of program that can be created by builder) does not have these standard devices and thus will not compile stnadard C++ code.

If I remember correctly the way to create a win32 console project is a little missleading.  I think you with want to selected like a windows GUI icon and then under there select a win32 console icon.


I hope that helps.
0
 
delltrotterAuthor Commented:
I just finished the question .Thanks to all who replied and
"A happy new year to all".
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now