私は Oops に少し慣れていないので、Python クラスと混同しています。高校で C++ を勉強しましたが、当時勉強したのは C++ ではなかったことを知っています (クラスがあり、テンプレートがない C のようなものでした。 STL、または名前空間)
間違っていたら訂正してください。しかし、私にとってクラスは単なるオブジェクトの設計図ですよね?
C++ でクラスのインスタンスを作成したい場合 (たとえば、私のクラス名は「動物」です)
私はこれを行います:
animal lion;
またはコンストラクター(引数付き)がある場合、私だけがこれを行いますanimal tiger(4,5);
私が直面している問題は次のとおりです。
class animal:
val = 5
コンストラクターやメソッドのない、単なる基本クラスです。
Python を使用すると、動物のインスタンスを作成せずに、動物をそのまま参照できます (C++ ではできませんよね?)
animal.val = 7
私が直面している別の問題は、インスタンスの作成中に常に括弧を使用する必要があることです。そうしないと、クラス自体を参照します。
例えば;
lion = animal
lion.val = 6
tiger = animal
print tiger.val
インスタンスを作成したい場合は、コンストラクター (C++ では必要ありませんでした)、特別な理由、または単に言語構文の問題を指定していなくても、括弧を使用する必要があります。