これは当たり前ですか?"インスタンスはクラスを実体化したもの"と覚えた私には、Q3,Q4は意外でした。Aを書き直すと、以下と同じですね。};C言語っぽいインターフェースになりました。Pimplに一瞬感動したちょっと話題が変わりますが、クラスの内部構造を隠したいためにPimplイデオムがあるのは有名ですね。知ったときは少し感動しました。Aを例に書いてみます。a.GetVal());}複雑ですね。Aは実体のラッパーです。オブジェクト指向プログラミング(以降OOP)にこだわりが無ければ、ラッパーを外すとシンプルになりそうです。GetVal(&a));}簡単で、これまたC言語っぽいインターフェースになりました。何が言いたいのかOOPでプログラミングを初めて覚えて、OOPを使い続けていると、OOP前提で実装や設計を考えてしまう脳みそが出来上がってしまうのではと思います。OOP反対と言いたいのではないです。OOPならではの素晴らい点もありますが、OOPを使わないければもっと短く記述できることがあります。C++はOOPを使えるのはもちろん、言語としてサポートする予約語やテンプレートを駆使したいろんな実装方法ができますが、本当に必要なことに絞ればC言語っぽく書くとよいこともありそうです。Beautiful(自分に宛てたメッセージです)s9バッジを贈って著者を応援しようバッジを受け取った著者にはZennから現金やAmazonギフトカードが還元されます。Proよくある質問LinksX(Twitter)GitHubメディアキットLegal利用規約プライバシーポリシ。