私は学生で、オブジェクト指向プログラミング (OOP) の単一メンバー ポインターの概念を理解するという問題に直面しました。Google でよく検索しましたが、アイデアがわかりませんでした。
詳細を理解するのを手伝ってもらえますか?
私は学生で、オブジェクト指向プログラミング (OOP) の単一メンバー ポインターの概念を理解するという問題に直面しました。Google でよく検索しましたが、アイデアがわかりませんでした。
詳細を理解するのを手伝ってもらえますか?
したがって、コメントからさらに明確にした後、次のように、クラス内のポインター メンバーについて疑問に思っているようです。
class Foo
{
public:
int* a;
};
クラスのポインターは基本的に通常の変数と同じですが、ここではメモリを扱っているため、3 つの追加事項 ( Rule of Three ) になります。
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;
}
};
クラスの属性としてポインターを使用する前に、3 つのルールと呼ばれるこれら 3 つについて学んでください。
また、クラス内でポインターを使用していることに気付いたときはいつでも、3 つのルールを実装する必要があります。
お役に立てれば :)