为什么要在自己的类中将对象声明为指针?

问题描述 投票:1回答:2

我不熟悉C ++,现在正在学习课程。我发现了这个类,并且想知道对象如何在其自己的类中创建为指针。你们能解释一下吗?在何处以及如何使用?

class Car
{
public:
    int weight;
    const char* model;
    Car* other;
};
c++
2个回答
2
投票
class Car {
public:
    // ...
    Car* other;
};

在声明数据成员other时,Car类实际上是不完整类型(即,尚未完全定义)。结果,编译器尚不知道Car对象的大小。但是,由于此数据成员other指向Car对象的指针而不是Car对象,因此编译器确实知道other的大小。


3
投票

例如,可以在链接列表中使用,其中列表的节点还必须保留对列表中下一个节点的引用。

© www.soinside.com 2019 - 2024. All rights reserved.