我想在 C++ 中创建一个链接列表。我很困惑是使用类还是结构。是否可以使用指针来引用类对象并仅使用类创建链接列表?我也可以使用 C++ 的内置列表来创建类对象列表吗?
问问题
446 次
3 回答
4
在 C++中class
和struct
基本相同,所以在这个问题的上下文中,它没有区别。
您可以拥有指向对象的指针:
class Foo {};
Foo* = new Foo();
Foo f;
Foo* pf = &f;
关于 和 之间的区别struct
,class
前者具有公共访问和继承,后者具有私有默认访问和继承:
struct Bar : Foo {
int a;
void bar() const;
};
是相同的
struct Bar : public Foo {
public:
int a;
void bar() const;
};
和一样
class Bar : public Foo {
public:
int a;
void bar() const;
};
于 2012-08-04T19:11:23.860 回答
3
你应该使用std::list
. 然后,你用什么都没关系。例如:
std::list<int> listOfInts;
struct Point {
int x, y;
};
std::list<Point> listOfPoints;
class Line {
public:
Point a, b;
};
std::list<Line> listOfLines;
于 2012-08-04T19:14:17.727 回答
3
结构体和类的区别:
struct
默认为公共访问,class
默认为私有访问。- 从它们继承时
struct
默认为public
继承,class
默认为private
继承。
请注意,C++ 标准库已经提供了链表:
于 2012-08-04T19:20:59.687 回答