gpt4 book ai didi

c++ - 类方法访问

转载 作者:行者123 更新时间:2023-11-28 08:23:47 24 4
gpt4 key购买 nike

谁能解释一下这两个声明的区别?

// Call super class method
This->objClass->super->OnConnect( (BasicIoControlType*)This );

// Call super class method
ClipListIoCtrlClassDef.super->OnConnect( (BasicIoControlType*)this );

最佳答案

问题代码:

// Call super class method
This->objClass->super->OnConnect( (BasicIoControlType*)This );

// Call super class method
ClipListIoCtrlClassDef.super->OnConnect( (BasicIoControlType*)this );

原则上可以是 C++,但它看起来确实不像 C++。

如果是 C++,那么除了要调用 OnConnect 的对象的规范外,调用没有区别。

在第一种情况下,如果这是 C++,您可能有一个指针 This 指向一个具有成员 objClass 的对象,这是一个指向具有成员 super 的对象的指针,它指向具有方法 OnConnect 的对象。我必须写“可能”,因为 C++ 允许重载 -> 运算符,这意味着那些野兽不一定是原始指针。 如果这是 C++。

在第二种情况下,如果这是 C++,您有一个对象 ClipListIoCtrlClassDef,它有一个成员 super(可能)是一个指向具有 OnConnect 方法的对象的指针。我必须再次写“可能”,因为 C++ 允许重载 ->。而且您没有提供必要的上下文。

可能想知道 o.method()p->method() 之间的区别。

如果是这样,内置的->只是写(*p).method()的简写,其中*是指针取消引用运算符。如果您对此不熟悉,请查阅您的 C++ 教科书。如果您没有教科书:您需要一本(例如,Bjarne Stroustrup 的最新著作)。

干杯,

关于c++ - 类方法访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4820387/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com