概述
// pointer to classes example
#include <iostream>
using namespace std;
class Rectangle {
int width, height;
public:
Rectangle(int x, int y) : width(x), height(y) {}
int area(void) { return width * height; }
};
int main() {
Rectangle obj (3, 4);
Rectangle * foo, * bar, * baz;
foo = &obj;
bar = new Rectangle (5, 6);
baz = new Rectangle[2] { {2,5}, {3,6} };
cout << "obj's area: " << obj.area() << 'n';
cout << "*foo's area: " << foo->area() << 'n';
cout << "*bar's area: " << bar->area() << 'n';
cout << "baz[0]'s area:" << baz[0].area() << 'n';
cout << "baz[1]'s area:" << baz[1].area() << 'n';
delete bar;
delete[] baz;
return 0;
}
运行结果:
obj's area: 12
*foo's area: 12
*bar's area: 30
baz[0]'s area:10
baz[1]'s area:18
指向class的指针。
This example makes use of several operators to operate on objects and pointers (operators *
, &
, .
, ->
, []
). They can be interpreted as:
expression | can be read as |
---|---|
*x | pointed to by x |
&x | address of x |
x.y | member y of object x |
x->y | member y of object pointed to by x |
(*x).y | member y of object pointed to by x (equivalent to the previous one) |
x[0] | first object pointed to by x |
x[1] | second object pointed to by x |
x[n] | (n+1 )th object pointed to by x |
Most of these expressions have been introduced in earlier chapters. Most notably, the chapter about arrays introduced the offset operator ([]
) and the chapter about plain data structures introduced the arrow operator (->
).
转载于:https://www.cnblogs.com/CodeWorkerLiMing/p/11074570.html
最后
以上就是淡淡荔枝为你收集整理的指向class的指针使用方法实例的全部内容,希望文章能够帮你解决指向class的指针使用方法实例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复