this is my simple test class, showing 3 points: 1, 2, 3.
These are 3 separate fields.
I want to try to use arrays like p[3]={0,1,2}.
But i fail in getting that to work.
Maybe someone can help me?
Code:
#include <iostream>
#include <string> // C++ string
using namespace std;
class point {
public:
point(); // default constructor
point( int initp1, int initp2, int initp3); // constructor
int getp1(); // accessor
int getp2();
int getp3();
void setpoint( int newp1, int newp2, int newp3 ); // mutator
void setp1( int newp1 ); // mutator p1
void setp2( int newp2 ); // mutator p2
void setp3( int newp3 ); // mutator p3
private:
int p1;
int p2;
int p3;
};
point::point() // default constructor
{
p1 = 0;
p2 = 0;
p3 = 0;
}
point::point( int initp1, int initp2, int initp3) // constructor
{
p1 = initp1;
p2 = initp2;
p3 = initp3;
}
int point::getp1() // accessor
{ return p1;
}
int point::getp2() // accessor
{ return p2;
}
int point::getp3() // accessor
{ return p3;
}
void point::setpoint( int newp1, int newp2, int newp3 ) // mutator
{
p1 = newp1;
p2 = newp2;
p3 = newp3;
}
void point::setp1( int newp1 ) // mutator p1
{ p1 = newp1;
}
void point::setp2( int newp2 ) // mutator p2
{ p2 = newp2;
}
void point::setp3( int newp3 ) // mutator p3
{ p3 = newp3;
}
void main()
{
point p(1,2,3);
cout << "points: " << p.getp1() << " , " << p.getp2() << " , " << p.getp3() << endl;
}
output:
i have tried the following:
Code:
...
//keeping everything from above until main()
void main()
{
point p[3]={(1,2,3)};
cout << "points: " << p[1].getp1 << endl;
}
or even rewriting the whole class with arrays in it but there are like 33 errors that are gibberish
Code:
#include <iostream>
#include <string> // C++ string
using namespace std;
class point {
public:
point(); // default constructor
point( int initp1, int initp2, int initp3); // constructor
int getp[3]={}; // accessor
void setpoint( int newp1, int newp2, int newp3 ); // mutator
void setp[3]={int newp1, int newp2, int newp3}; // mutator
private:
int p[3];
};
point::point() // default constructor
{
p[3] = {0,0,0};
}
point::point( int initp1, int initp2, int initp3) // constructor
{
p[3] = {initp1, initp2, initp3};
}
int point::getp[0]() // accessor
{ return p[0];
}
int point::getp[1]() // accessor
{ return p[1];
}
int point::getp[2]() // accessor
{ return p[2];
}
void point::setpoint( int newp1, int newp2, int newp3 ) // mutator
{
p[3] = {newp1, newp2, newp3};
}
void point::setp[0]( int newp1 ) // mutator
{ p[0] = newp1;
}
void point::setp[1]( int newp2 ) // mutator
{ p[1] = newp2;
}
void point::setp[2]( int newp3 ) // mutator
{ p[2] = newp3;
}
void main()
{
point p[3]={(1,2,3)};
cout << "points: " << p[1].getp1 << endl;
}
could someone help me please ? i am struggling with this for quite a long time
thanks!
//edit
ok i found some code snippet through google and by understanding that code, i have adjusted my code to this:
Code:
#include <iostream>
#include <string> // C++ string
using namespace std;
class point {
public:
point(); // default constructor
point( int initp1, int initp2, int initp3); // constructor
int getp1(); // accessor
int getp2();
int getp3();
void setpoint( int newp1, int newp2, int newp3 ); // mutator
void setp1( int newp1 ); // mutator p1
void setp2( int newp2 ); // mutator p2
void setp3( int newp3 ); // mutator p3
private:
int p1;
int p2;
int p3;
};
point::point() // default constructor
{
p1 = 0;
p2 = 0;
p3 = 0;
}
point::point( int initp1, int initp2, int initp3) // constructor
{
p1 = initp1;
p2 = initp2;
p3 = initp3;
}
int point::getp1() // accessor
{ return p1;
}
int point::getp2() // accessor
{ return p2;
}
int point::getp3() // accessor
{ return p3;
}
void point::setpoint( int newp1, int newp2, int newp3 ) // mutator
{
p1 = newp1;
p2 = newp2;
p3 = newp3;
}
void point::setp1( int newp1 ) // mutator p1
{ p1 = newp1;
}
void point::setp2( int newp2 ) // mutator p2
{ p2 = newp2;
}
void point::setp3( int newp3 ) // mutator p3
{ p3 = newp3;
}
void main()
{
//point p[3]={1,2,3}; //error
point p[3];
cout << "points: " << p[1].getp1() << endl;
}
but if i want to put values in the array p[3],
it still doesnt allow me.