c++ - 将对象嵌入到链表c++

标签 c++ object linked-list

我正在尝试将对象添加到链表中。我的程序的想法是制作一个学生信息系统。在这个学生信息系统中,当有一个新的学生条目时,将创建一个新的类(class)对象,该对象将是链表中新节点的信息。换句话说,该对象将是链表节点的信息字段。我试过这个程序但出现错误。

#include<iostream.h>
class result
{
    int age;
    char name[30];
    float marks;

public:
    void ret(int a, float m)
    {
        age = a;
        marks = m;

    }
};

struct node
{
    result info;
    struct node *next;
};


void main()
{
    struct node *h, *t;
    int g;
    float ma;
    cout<<"Enter age , name , marks\n";
    cin>>g;
    cin>>ma;
    result ob;
    h = NULL;
    t = new node;
    t->info = ob.ret(g,ma);
    t->next = NULL;
    h = t;
    cout<<t->info;
}

错误是:

1) 不允许的类型 2) 非法结构操作

最佳答案

ret 是返回 voidresult 的成员。我猜你打算制作一个带有两个参数的 result 的构造函数。所以,这就是你要做的

class result
{
 int age;
 char name[30];
 float marks;

 public:
 result(){}
 result(int a, float m)
 {
  age = a;
  marks = m;

 }
};

并将 t->info = ob.ret(g,ma); 更改为 t->info = result(g, ma);

关于c++ - 将对象嵌入到链表c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24669104/

相关文章:

c++ - ShellExecute Format DOS 命令

javascript - 难以理解 JavaScript 中的基本对象工作原理

javascript - 如何在数组中找到一个对象,然后删除它并返回数组?

java - 在某些数据之后插入数据(双向链表)

c - 排序链表(神秘段错误)

c++ - 我可以将项目链接到与我使用的库不同的 _ITERATOR_DEBUG_LEVEL 吗?

c# - 将 char*[] 从 c++ dll 结构传递到 c#

c++ - 生产者、消费者和我可爱的僵局

javascript - 使用原型(prototype)扩展另一个函数的函数

c - C 中的 malloc 和内存泄漏问题