1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Please explain some concepts about Pointer & Class & Array Pointer

Discussion in 'C++' started by chaienbungbu, Jan 22, 2010.

  1. chaienbungbu

    chaienbungbu New Member

    Joined:
    Jan 22, 2010
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    0
    I read this code section from a tutorial, but I cannot understand it thoroughly. It is about Pointer & Class Pointer & Array Pointer.

    This is it:
    Code:
    // pointer to classes example
    #include <iostream>
    using namespace std;
    
    class CRectangle {
    	private:
    		int width, height;
    	public:
    		// prototype
    		void set_values (int,int);
    		// method
    		int area (void) {
    			return (width * height);
    		}
    };
    
    // definion
    void CRectangle :: set_values (int a, int b) {
    	width = a;
    	height = b;
    }
    
    void main () {
    	CRectangle a, *b, *c;
    	[b]CRectangle * d = new CRectangle[2];[/b]
    	//
    	b = new CRectangle;
    	c = &a;
    	a.set_values(1,2);
    	b -> set_values(3,4);
    	[b]d -> set_values(5,6);
    	d[1].set_values(7,8);[/b]
    	//
    	cout << "a area: " << a.area() << endl;
    	cout << "*b area: " << b -> area() << endl;
    	cout << "*c area: " << c -> area() << endl;
    	[b]cout << "d[0] area: " << d[0].area() << endl;
    	cout << "d[1] area: " << d[1].area() << endl;[/b]
    	//
    	delete[] d;
    	delete b;	
    }
    
    I try to search google and understand some parts of this code. But when it contains many concepts (i.e. pointer, array, class) in the BOLD section, I cannot grasp the points. Many operators (*, ->, etc. ), and I failed to distinguish between them.

    Please explain it for me, especially the section in BOLD.

    BTW, I see the "new" operator is very different from java one, is it right?

    Thanks for any help.
     

Share This Page