gpt4 book ai didi

c++ - 一个类的对象作为另一个类的方法的返回类型

转载 作者:太空宇宙 更新时间:2023-11-04 11:53:51 25 4
gpt4 key购买 nike

谁能给我一个示例代码,其中我有一个类对象,它是另一个类的方法的返回类型?我尝试通过在方法前面简单地提及类名来做到这一点,但是出现了一个错误,说不是一个有效类型...

typedef struct Point
{
int x,y;

}Point;

class Node

{
public:
int posX;
int posY;
int width;
int height;
Node *child[4];
Point array[100];

}Node;



class quadtree
{
public:
void setnode(Node *xy,int x,int y,int w,int h);
Node buildtree(Node* n);
void printtree(Node* n,int depth);
void deletetree(Node* n);
Node *BuildNode(Node* n, Node *nParent, int index);
static int pointArray_size(Node *n);
//Node *rootNode ;
int randn();
quadtree();
~quadtree();

friend class Node;
};

以上是相关部分而不是整个代码。我正在尝试将原本是结构的 Node 更改为类。我不知道该怎么做..

最佳答案

class Node
{...} Node;

在这里,您将创建一个名为 NodeNode 实例。然后在你的函数原型(prototype)/定义中你使用 Node 就好像它是一个类型,当它不是。也许你打算 typedef 类:

typedef class Node {...} Node;

但在 C++ 中甚至不需要 typedef,因为类名不需要 classstruct 前缀。只需使用类名:

class Name {...};

关于c++ - 一个类的对象作为另一个类的方法的返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17013125/

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