c++ - 从新创建的对象指针正确调用方法

标签 c++ oop syntax

我是一名正在上 C++ 类(class)的 Java 程序员。我可以通过不使用“new”关键字在堆栈上成功创建我的对象。

SeatSelection premium(1,5);
premium.toString();

该代码正确运行了我的 toString() 方法。

我还尝试使用“new”关键字创建一个新的 C++ 对象,然后尝试运行 toString() 方法。

SeatSelection *premium = new SeatSelection(1,5);

我不知道调用 toString() 方法的正确语法。

我尝试过的

premium.toString();     //doesn't compile, premium is of non-class type "SeatSelection*"

使用对象指针调用方法的语法是什么?

最佳答案

使用运算符 ->. (点)一起使用它是所谓的类成员访问运算符。

例如

SeatSelection *premium = new SeatSelection(1,5);
premium->toString();

或者你可以这样写

SeatSelection *premium = new SeatSelection(1,5);
( *premium ).toString();

根据C++标准

expression E1->E2 is converted to the equivalent form (*(E1)).E2;

关于c++ - 从新创建的对象指针正确调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21867516/

相关文章:

c++ - 用什么工具查看多重继承的内存布局

c++ - 如何解决 cin.fail() 中的循环

c# - 我应该在部分类中分离属性和方法吗?

oop - "program to interfaces, not implementations"是什么意思?

Perl 语法错误 - elseif 应该是 elsif at

Haskell 进口申报

c++ - 是否可以在其范围之外访问局部变量的内存?

c++ - wxPanel 显示功能在 wxThreads 中不起作用

oop - 泛型在 typescript 中的实际使用

c++ - 类内模板化类的 Typedef