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 Marcin Kozub 330
1 OriginalGriff 256
2 Sergey Alexandrovich Kryukov 215
3 Praneet Nadkar 197
4 Richard MacCutchan 182
0 OriginalGriff 8,048
1 Sergey Alexandrovich Kryukov 7,287
2 DamithSL 5,614
3 Manas Bhardwaj 4,986
4 Maciej Los 4,910


Advertise | Privacy | Mobile
Web01 | 2.8.1411023.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