void sum(int &i1, int &i2, int val)
{
i1 += val;
i2 += val;
}
int get_number(int &i1, int &i2)
{
return i1 + i2;
}
void main() // главная функция программы
{
int i1, i2;
sum(i1, i2, 56);
any_fn(get_number(i1, i2)); // какое-то действие с нашей суммой.
}
class QQ
{
int i1;
int i2;
public:
void sum(int val)
{
this->i1 += val;
this->i2 += val;
}
int get_number()
{
returnthis->i1 + this->i2;
}
};
void main() // главная функция программы
{
QQ q;
q.sum(56);
any_fn(q.get_number()); // какое-то действие с нашей суммой.
}
struct S {};
class QQ
{
S *p;
public:
QQ() {this->p = new S;}
~QQ() {deletethis->p;}
};
void main()
{
QQ q;
QQ q2 = q;
}
このため、同じポインタに対して2回deleteが呼び出されることになります。正しい方法はこうです。
class QQ
{
S *p;
public:
QQ() {this->p = new S;}
~QQ() {deletethis->p;}
QQ(QQ &); // Только объявляем, определения нигде нет.
QQ &operator=(QQ &); // Только объявляем, определения нигде нет.
};
//илиclass QQ
{
S *p;
public:
QQ() {this->p = new S;}
~QQ() {deletethis->p;}
QQ(QQ &q) {this->p = new S(*q.p);}
QQ &operator=(QQ &q) {*this->p = *q.p;}
};
追加する。
を追加 しました ))
円の場合はある方法で、四角の場合は別の方法で計算されます。しかし、 どちらの場合でも、 Figura.GetSquare()を呼び出すことで、そのようなことが可能になります。
そして沈黙.
まあ、2x2=だったかな?
答える気がない。
=================
こっちの方が近いかも。
クラスには、Open()、Close()、Read()、Write()などの標準的な仮想メソッドが用意されています。
このクラスは、ファイル、マッピング、チャンネル、インターネットなどを扱うことができる。
これらのメソッドは、内容(記述)だけが異なります。しかし、クラスのインターフェイスは同一になる。
もう3ページ目なのに誰もコードポイント一つも例として挙げていないのは怪しいと思いませんか?
それに、回答しても面白くないし、初歩的で、コーディングするのが億劫になるくらい...。
もし、誰かが何かを知っていたら、答えていたと思うのですが...。
VOLDEMARさん、最初の投稿を受けると、なぜそこにクラスが全くないのですか?クラスを書くということは、プログラムが複雑になった結果、個々の要素が多くの外部リンクを持っている場合、これらの要素をすべて統合し、シンプルなインターフェースを作るためにクラスを作成するのである。私の考えでは、クラスの必要な属性はデータ(int型、double型...)であり、関数が働く材料であり、クラスはすべてを一つのパッケージ(データと関数)でつなぐものである。例えば、2つの例、1つ目はOOPなし、2つ目はOOPありの例です。
2番目の例では、関数が扱うデータについて心配する必要がありません。これは、OOPの主な目的だと思います。
もうひとつ、あなたのコードについて。
... class vr_trade { ... ~vr_trade(){} }; ...
私は、「デストラクタは絶対に空で書かない」というルールを持っています。デストラクタがないことは、クラスが単純であることの指標となる。デストラクタを書くと、コピーコンストラクタや=演算子を書かなければならなくなったり、禁止されたりすることがあります。例
このため、同じポインタに対して2回deleteが呼び出されることになります。正しい方法はこうです。
ですから、もしデストラクタを書かなければならないのであれば、それはよく考えるべき理由です。オペラ = とコピーコンストラクタをどうするか?削除する、書く...?デストラクタを空で書く必要はないと思います。その不在は、上記をやり直す必要がないことを示す指標です。
なぜ2番目のメソッドはエラーと警告を大量に投げるのですか?
この後に -> の代わりにドットを入れる。 mqlチップ。
アクションについて教えてください。
即ち
なぜ記号(:)なのか、記号で何が得られるのか?