两个类作为类函数的参数

Two classes as argument of a class function

本文关键字:类函数 参数 两个      更新时间:2023-10-16

我知道标题有点扭曲,但我想不出其他的wat。我需要编写一个使用两个类对象作为参数的类函数。下面是我尝试做的一个例子:

class list{
private:
    struct ele{
        int num;
        ele *next;
        ele(){
            next=0;
        }
    };
public:
    list();
    ele *first;
    void add (int num);
    void print();
    void dod(list a, list b);

};

void list::dod(list a, list b){
a->print();
b->print();

}

我不知道为什么,但这似乎不起作用。我做错了什么?

使用->访问指针的成员,而不是对象。对于对象,可以使用.

更改

void list::dod(list a, list b){
   a->print();
   b->print();
}

void list::dod(list a, list b){
   a.print(); // Not -> but .
   b.print(); // Same thing.
}

这就是访问类成员的方式:

list object;
object.print();
list* pointer;
pointer->print();