-
Pointer to class?
Really basic question:
I'm just wondering how you use a class in an external function, here's the relevant code I've tried, but which obviously, doesn't work:
Code:
Lf::Lf(int x, int y, Grid *mygrid)
{
mygrid.addGridEntity(x, y, 'o');
}
int main()
{
Grid mygrid;
Lf mylf(3, 3, &mygrid);
mygrid.printGrid();
}
-
you can either use pointers:
Code:
Lf::Lf(int x, int y, Grid* mygrid)
{
mygrid->addGridEntity(x, y, 'o'); // use arrow not dot when dealing with a pointer
}
int main()
{
Grid mygrid;
Lf mylf(3, 3, &mygrid);
mygrid.printGrid();
}
or references
Code:
Lf::Lf(int x, int y, Grid& mygrid)
{
mygrid.addGridEntity(x, y, 'o'); // use dot with a reference
}
int main()
{
Grid mygrid;
Lf mylf(3, 3, mygrid); // address is taken implicitly with reference initialization
mygrid.printGrid();
}
-
Thanks. I always knew you were smarter than me.