У меня ужасное время выяснить, как написать конструктор копирования. Как вы можете видеть ниже, у нас есть класс со структурой, вложенной внутри него, чтобы связанные узлы содержали данные. Я не могу использовать членское назначение для копирования DynIntStack, потому что указатели в структуре StackNode просто указывают на один и тот же объект.Установить переменную struct, вложенную внутри класса в конструктор копирования
К сожалению, я не могу понять, как написать конструктор таким образом, чтобы значение внутри нового StackNode было равно значению StackNode внутри DynIntStack. Я передаю конструктор.
Я понимаю, что я пытаюсь сделать здесь, я просто не могу понять, как правильно это записать.
class DynIntStack
{
private:
// Structure for stack nodes
struct StackNode
{
int value; // Value in the node
StackNode *next; // Pointer to the next node
};
StackNode *top; // Pointer to the stack top
public:
// Constructor
DynIntStack()
{
top = NULL;
}
// copy constructor
DynIntStack(DynIntStack &obj)
{
DynIntStack::StackNode value = obj::StackNode.value;
DynIntStack::StackNode next = new StackNode;
}
Есть так много [вопрос в SO на связанном списке] (http://stackoverflow.com/search?q=%5Bc%2B%2B%5D+linked+list). Возможно, один или несколько из них будут полезны. –