Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C++
Heya,
 
For a study graphics editing C++ project, I was in need of a simple way of defining and addressing 2D arrays. I added a class that defines a 1D array of the size x*y, but can be addressed and works similary to a 2D array.
 
Point* operator[](int x)
    {
        return & ARR[x * Y];
    }
 
With the use of the operator method, I can easily access the points from outside. Now my problem is, how do I use the operator from inside the class.
 
For example I want to create a class that calculates the avarage RGB value of all points, but how can I use the operator within the class, it was defined in?
Posted 9-Apr-12 23:31pm
Y0UR243
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

i guess this (*this)[] will do ..?
  Permalink  
Comments
Y0UR at 10-Apr-12 4:53am
   
Thanks, worked. Didn't know I could use the pointer of "this"
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

You may also use the function notation, e.g.
  operator[](5);
  Permalink  
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Kornfeld Eliyahu Peter 169
1 Zoltán Zörgő 139
2 George Jonsson 135
3 PIEBALDconsult 130
4 OriginalGriff 120
0 OriginalGriff 6,165
1 DamithSL 4,658
2 Maciej Los 4,107
3 Kornfeld Eliyahu Peter 3,649
4 Sergey Alexandrovich Kryukov 3,342


Advertise | Privacy | Mobile
Web02 | 2.8.141220.1 | Last Updated 10 Apr 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100