#ifndef POINT_H
#define POINT_H

class Point
{


public:
    Point();
    Point(int, int);
    int getx();
    int gety();
    void setx(int);
    void sety(int);
private:
    int x,y;
};

#endif

//POINT.CPP
#ifndef POINT_H
#define POINT_H

class Point
{


public:
    Point();
    Point(int, int);
    int getx();
    int gety();
    void setx(int);
    void sety(int);
private:
    int x,y;
};

#endif

#ifndef THREEDIMENSIONALPOINT_H
#define THREEDIMENSIONALPOINT_H

#include "point.h"

class ThreeDimensionalPoint:public Point
{
private:
    int z;
public:
    ThreeDimensionalPoint();
    ThreeDimensionalPoint(int, int, int);
    int getz();
    void setz(int );
    void addPoints(ThreeDimensionalPoint );

};

#endif 

//.cpp

#include "threedimensionalpoint.h"

ThreeDimensionalPoint::ThreeDimensionalPoint()
{
    setx(0);
    sety(0);
    setz(0);
}

ThreeDimensionalPoint::ThreeDimensionalPoint(int xin, int yin, int zin)
{
    //please implement this constructor to set the x, y and z values to the input parameter values
    setx(xin);
    sety(yin);
    setz(yin);
}
int ThreeDimensionalPoint::getz()
{
    return z;
    //please implement this function to get the z value
}
void ThreeDimensionalPoint::setz(int zin)
{
    z=zin;
    //please implement this function to set z value
}



void ThreeDimensionalPoint::addPoints(ThreeDimensionalPoint pointin)

{ int x1=getx(), y1=gety(), z1=getz();
x1 = getx() +   pointin.getx();
y1 = y1 +   pointin.gety();
z = z + pointin.z;

setx(x1);
sety(y1);
setz(z);
}   //please implement this function to add the x,y and z values of point1 to values of the calling instance of the object



//main.cpp

#include <iostream>

#include "point.h"
#include "threedimensionalpoint.h"

using namespace std;

int main(){
    ThreeDimensionalPoint point1(1,2,3);
    ThreeDimensionalPoint point2(4,5,6);
    point1.addPoints(point2);
    cout<<"\nThe value of the x value is: "<< point1.getx();
    cout<<"\nThe value of the y value is: "<< point1.gety();
    cout<<"\nThe value of the z value is: "<< point1.getz();
    cout<<"\n";
}

the program is not adding z. The output is (5,7,7). Can anyone tell me why its not adding the third value?

This article has been dead for over six months. Start a new discussion instead.