Я студент, и я столкнулся с проблемой понять концепцию одночленных указателей в объектно-ориентированном программировании (ООП), и я много искал в Google, но не понял!
Не могли бы вы помочь мне разобраться в деталях?
Я студент, и я столкнулся с проблемой понять концепцию одночленных указателей в объектно-ориентированном программировании (ООП), и я много искал в Google, но не понял!
Не могли бы вы помочь мне разобраться в деталях?
Итак, после дальнейших разъяснений из комментариев вы, кажется, задаетесь вопросом о членах-указателях в классе, например:
class Foo
{
public:
int* a;
};
Теперь указатели в классах в основном такие же, как и обычные переменные, но поскольку здесь вы имеете дело с памятью, у вас будут 3 дополнительные вещи (Правило трех):
operator=
Я не буду здесь вдаваться в подробности, но это должно выглядеть примерно так:
class Foo
{
private:
int a*;
public:
~Foo() // destructor
{
delete a;
}
Foo(const Foo& cpy) // copy constructor
: a(cpy.a) {}
Foo& operator=(const Foo& cpy) // assignment
{
a = copy.a;
}
};
Пожалуйста, узнайте об этих трех, называемых Правилом трех, прежде чем переходить к указателям в качестве атрибутов в классе.
И всякий раз, когда вы обнаруживаете, что используете указатели внутри класса, вам необходимо реализовать правило трех.
Надеюсь это поможет :)
class Foo { int* a; };
это? - person Dynamic Squid   schedule 06.07.2020