gpt4 book ai didi

c++ - 类 "list"包含包含类的结构

转载 作者:行者123 更新时间:2023-11-28 00:52:37 29 4
gpt4 key购买 nike

我正在尝试编写动态链接的复数列表。基本上:我有一个类 list,其中包含一个结构 number,该结构包含类 complex。盒子里的盒子里的盒子里的盒子。我在引用复数本身时遇到问题(我只有添加节点的函数。到目前为止我的代码:

复杂.h

class complex
{
public:
float r;
float i;
};

列表.h

#include "complex.h"
class list

{

public:
typedef struct number
{
complex a;

struct number *next;
}number;

number *number;

public:
void add(number* number,complex b);
list();
~list();

};

list.cpp(包含函数add,不起作用)

void list::add(number* number, complex b)
{
number *newo=new number;

while (number->next != NULL)
{
number = number->next;
}

newo = malloc (sizeof(number));
newo->a::r = b::r;
newo->a::i = b::i;
newo->next = NULL;
number->next = newo;

感谢您的帮助;)

最佳答案

这些行

      newo->a::r = b::r;  
newo->a::i = b::i;

应该是

      newo->a.r = b.r;  
newo->a.i = b.i;

或者更简单的你可以写

      newo->a = b;  

你遇到的其他问题是

1) 您两次分配数字节点,一次使用 new,一次使用 malloc。只做一次,并使用 new

2) 该数字似乎是您的 list 类中未初始化的指针。这会让你的程序崩溃。为 list 编写构造函数,将 number 初始化为 NULL。

3) list::add 的逻辑是错误的,即使 number 是 NULL 然后你做的第一件事就是 number->next 这也会让你崩溃程序。

4) 到处都是名字(正如其他人指出的那样)。尝试为所有内容取个好名字,这将有助于您理解自己的代码。

关于c++ - 类 "list"包含包含类的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13254976/

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