C++ オブジェクト指向プログラミング:カプセル化・深いコピー・動的メモリ管理の実践

課題1:コンポジションによるGUIコンポーネントの設計 ボタンとウィンドウの関係をコンポジション(has-a関係)で表現します。WindowクラスがWidgetクラスを含む形で実装します。 Widget.hpp #pragma once #include <iostream> #include <string> class Widget { public: explicit Widget(const std::string &name); const std::string& na ...

8月8日 14:29 投稿

Pythonにおける代入、浅いコピー、深いコピーの違い

代入 代入操作では、新しい変数に元のオブジェクトのメモリアドレスが直接割り当てられます。つまり、両方の変数が同じオブジェクトを参照するため、一方を変更するともう一方も影響を受けます。 print("---------------------------代入------------------------------") # 代入操作では、新しい変数に元のオブジェクトのメモリアドレスが直接割り当てられます src_list ...

6月21日 00:58 投稿

Objective-CにおけるcopyとmutableCopyの仕組みと実践的な使い方

概要 Objective-Cでは、copyおよびmutableCopyメソッドを使用して、オブジェクトのコピーを作成できます。これらのメソッドは、元のオブジェクトを変更せずに、新しいオブジェクトで安全に操作を行うために不可欠です。しかし、これらのメソッドの動作は、元のオブジェクトが不変(immutable)か可変(mutable)かによって異なります。本記事では、文字列とカスタムオブジ ...

6月18日 21:01 投稿