带有类的C ++指针

时间:2013-12-06 02:08:50

标签: c++ pointers

我的编程教授要求我们:

  • 声明指针和成绩变量
  • 将变量的地址存储在指针变量
  • 调用相应的函数以打印输出。 (请参阅使用指针表示法的函数,例如,ptr-> function())

然而,我有点困惑。 “Grade”变量是一个类变量,但如何声明指针?我是否将指针声明为int?

所以我会有类似的东西:

int *ptr;
Grade grade;
ptr = &grade;

3 个答案:

答案 0 :(得分:2)

你非常接近。但是,您声明了一个指向整数的指针。这就是int *的含义。你想要的是指向Grade

的指针
Grade* ptr;

到目前为止,你写的其余部分看起来都是正确的。

获得ptr = &grade;后,您可以通过grade代替ptr->foo()来调用grade.foo()中的方法。两者都会在变量foo()上调用方法grade

答案 1 :(得分:0)

声明指向类型的指针总是

type * ptr;

在你的情况下:

Grade *ptr;
Grade grade;
ptr = &grade;
// use
ptr->function();

你所做的是指向int的指针。

答案 2 :(得分:0)

如果你想要一个指向类T的指针,就像你期望的那样写T* foo。总而言之:

//Declare Pointer and grade Variable:
Grade grade;
Grade* ptr;

//Store variable's address in pointer:
ptr = &grade;

//Call function:
ptr->function();