Click here to Skip to main content
11,642,855 members (70,727 online)
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 22:31pm
Y0UR248
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 DamithSL 328
1 OriginalGriff 280
2 Sergey Alexandrovich Kryukov 270
3 Afzaal Ahmad Zeeshan 195
4 jyo.net 190
0 DamithSL 541
1 OriginalGriff 495
2 Mika Wendelius 469
3 Sergey Alexandrovich Kryukov 330
4 Afzaal Ahmad Zeeshan 324


Advertise | Privacy | Mobile
Web04 | 2.8.150731.1 | Last Updated 10 Apr 2012
Copyright © CodeProject, 1999-2015
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