我的编程教授要求我们:
然而,我有点困惑。 “Grade”变量是一个类变量,但如何声明指针?我是否将指针声明为int?
所以我会有类似的东西:
int *ptr;
Grade grade;
ptr = &grade;
答案 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();