Question: *C++* Need help with setting up header files. All info will be included below. Point2D class, Point3D class inherits from Point2D class private variables x,
*C++*
Need help with setting up header files. All info will be included below.
Point2D class, Point3D class inherits from Point2D class private variables x, y. Z is new private variable in Point3D class Functions setX(), getX(), setY(), getY() are inherited from Point2D Functions setZ() getZ() are in Point3D only Functions getPoint() , setpoint(), distanceFromOrigin() are overridden the functions with the same name from Point2D and use functions in definition functions with the same name in Point3D constructors Point3D in definition use constructors Point2D In Driver we have array of Point3D objects : 5 points are inputted from input file , see in.txt file as an example
----------------------------------------------
driver .cpp
#include
#include
#include "Point3D.h"
using namespace std;
int main()
{
ifstream fin;
string fileName;
cout<<"enter input fileName: ";
cin>>fileName;
fin.open(fileName.c_str());
Point3D pp[5];
Point3D point[5];
double x,y,z;
for (int i=0;i<5;++i)
{
// Enter x, y and z from input file";
fin>>x>>y>>z;
pp[i].setX(x);
pp[i].setY(y);
pp[i].setZ(z);
point[i].setPoint(x,y,z);
}
cout<<"A. Test pp getX,getY,getZ "; //here test getX() and getY() functions
for (int i=0;i<5;++i)
{
cout<
< < <<" "; } cout<<"B. Test point getPoint and distance to origin "; //here test getPoint() function for (int i=0;i<5;++i) { point[i].getPoint(x,y,z); cout< } cout<<"C. Test print() and distance to origin "; for (int i=0;i<5;++i) { cout < pp[i].print(); cout<<" distance to origin = " < <<" "; } fin.close(); } ----------------------------------------------------- Input File 1.1 2.2 3.3 4.4 5.5 6.6 7.7 8.8 9.9 3 4 0 12 0 5 ------------------------------------ point2D.cpp #include #include #include "Point2D.h" Point2D::Point2D() { x = 0; y = 0; } Point2D::Point2D(int x, int y) { //ToDo } Point2D::Point2D(Point2D& other) { //ToDo } double Point2D::getX() { //ToDo } double Point2D::getY() { //ToDo } void Point2D::getPoint(double& x1,double& y1) { //ToDo } void Point2D::setX(double x) { //ToDo } void Point2D::setY(double y) { //ToDo } void Point2D::setPoint(double x1, double y1) { //ToDo } double Point2D::distanceToOrigin() { //ToDo } void Point2D::print() { //ToDo } Point2D::~Point2D() {} ------------------------------------- point2d.h #ifndef POINT2D_H_ #define POINT2D_H_ class Point2D { private: double x; double y; public: Point2D(); Point2D(int x, int y); Point2D(Point2D& point); double getX(); double getY(); void getPoint(double& x1, double& y1); void setX(double x); void setY(double y); void setPoint(double x1, double y1); double distanceToOrigin(); void print(); virtual ~Point2D(); }; #endif /* POINT2D_H_ */ --------------------------------------------------------- print3d.cpp #include "Point2D.h" #include "Point3D.h" #include #include Point3D::Point3D() : Point2D() { //ToDo } Point3D::Point3D(double x1, double y1, double z1) : Point2D(x1, y1) { //ToDo } Point3D::Point3D(Point3D& other) : Point2D(other) { //ToDo } double Point3D::getZ() { //ToDo } void Point3D::getPoint(double& x1,double& y1, double& z1 ) { //ToDo // use getPoint(); from Point2D } void Point3D::setZ(double z1) { //ToDo } void Point3D::setPoint(double x1, double y1, double z1) { //ToDo // use setPoint from Point2D } double Point3D::distanceToOrigin() { //ToDo // use distanceToOrigin() from Point2D } void Point3D::print() { //ToDo // use print() from Point2D } Point3D::~Point3D() {} -------------------------------------- point3d.h #ifndef POINT3D_H_ #define POINT3D_H_ #include "Point2D.h" class Point3D : public Point2D { private: double z; public: Point3D(); Point3D(double x, double y, double z); Point3D(Point3D& point); double getZ(); void getPoint(double& x1, double& y1, double& z1); void setZ(double z); void setPoint(double x1, double y1, double z1); double distanceToOrigin(); void print(); virtual ~Point3D(); }; #endif /* POINT3D_H_
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
