なぜ演算子をオーバーロードするの? 演算子に新しい役割をもたせたいから << 演算子 左オペランドが出力ストリーム

Slides:



Advertisements
Similar presentations
プログラミング論 第八回数字の計算,整数の入出力. 本日の内容 前回の課題(続き) 前回の課題(続き) 数字の計算をする 数字の計算をする – 加減乗除を行う – インクリメント演算子とデクリメン ト演算子.
Advertisements

平成 27 年 10 月 21 日. 【応用課題 2-1 】 次のビット列は、ある 10 進数を 8 ビット固定小数点表示で表した時の ものです。ただし、小数点の位置は 3 ビット目と 4 ビット目の間としてお り、負数は2の補数で表しています。このとき、元の 10 進数を求めてく ださい。
C 言語講座 第 7 回 ポインター. メモリとアドレス(ポインターの前 に) コンピュータのメモリには 1 バイトずつ 0 番地、 1 番地、 2 番地・・・というように 住所が割り当てられている この住所をアドレスという。 メモリはデータをしまうもので それを引き出すためには メモリに番号(アドレス)を振っておけばよいな.
C++ 基礎. 目次 C++ とは? C++ におけるオブジェクト指向 課題 C++ とは? Cには足りなかったものが付与されて出来た物 具体的には、 情報の隠蔽(カプセル化) 共通の名前付け(関数のオーバーロード) 再利用の仕組み クラスの導入 など オブジェクト指向 C++ では大規模なプログラミングの.
GridLayout オブジェクト(省略)
パワーポイントの使い方 東京女子大学 情報処理センター 浅川伸一.
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
2008/03/01 D-BOF k.inaba はじめての initial D 2008/03/01 D-BOF k.inaba
エクセル(1)の目次 起動法、ブック、シート、セル ブックの開き方 エクセル画面 マウスポインターの種類 シート数の調節 データの入力法
Verilog HDL 12月21日(月).
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
独習Java ・ 10.6  Hashtableクラス ・ 10.7  String Tokenizerクラス  12月12日    小笠原 一恵.
プログラミング論 II 電卓,逆ポーランド記法電卓
情報基礎実習I (第1回) 木曜4・5限 担当:北川 晃.
第20章 Flyweight ~同じものを共有して無駄をなくす~
2016年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
アニメーションのタイミングを自由に設定するには
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
第6回 よく使われる組合せ回路 瀬戸 重要な組合せ回路を理解し、設計できるようにする 7セグディスプレイ用デコーダ 加算回路・減算回路
サブゼミ第9回 実装編③ 永続化とjava.ioパッケージ.
関数とポインタ 値呼び出しと参照呼び出し swapのいろいろ 関数引数 数値積分
プログラミング応用 printfと変数.
Nakano School of Business 経営情報ビジネス科 【 Java概論(Test5)】
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
プログラミング演習Ⅱ 課題4第3週 画像処理 (1) ビット演算子.
7.4 intanceof 演算子 7.5~7.9パッケージ 2003/11/28 紺野憲一
計算機構成 第2回 ALUと組み合わせ回路の記述
9. 演算回路 五島 正裕.
コンピュータアーキテクチャ 第 7 回.
コンピュータアーキテクチャ 第 7 回.
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
コンパイラ 2011年10月20日
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
C言語 はじめに 2016年 吉田研究室.
ディジタル回路 9. 演算回路 五島 正裕.
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
アルゴリズムとデータ構造 --- 理論編 --- 山本 真基
地域情報学 C言語プログラミング 第2回 変数・配列、型変換、入力 2017年10月20日
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
コンピュータアーキテクチャ 第 2 回.
コンピュータアーキテクチャ 第 4 回.
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
2017年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
暗号技術 ~JAVAプログラム②~ (6週目)
コンピュータアーキテクチャ 第 2 回.
コンパイラ 2012年11月1日
コンピュータアーキテクチャ 第 4 回.
9. 演算回路 五島 正裕.
情報処理Ⅱ 第7回 2004年11月16日(火).
情報処理Ⅱ 2005年10月28日(金).
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
プログラミング演習Ⅱ 課題4第4週 画像処理 (2) 応用.
標準入出力、変数、演算子、エスケープシーケンス
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
コンパイラ 2012年10月11日
プログラミング 4 文字列.
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
フレンド関数とフレンド演算子.
2014年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
演算子のオーバーロード.
オートマトンって? (Turing machine).
JSONの概要, Cloud FireStore で JSON を扱う
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
情報処理Ⅱ 小テスト 2005年2月1日(火).
JavaScript    プログラミング入門 2-3 式と演算子 2006/10/12 神津 健太.
C言語講座 四則演算  if ,  switch 制御文.
情報処理Ⅱ 2006年10月27日(金).
分岐(If-Else, Else if, Switch) ループ(While, For, Do-while)
計算機プログラミングI 第5回 2002年11月7日(木) 配列: 沢山のデータをまとめたデータ どんなものか どうやって使うのか
Presentation transcript:

なぜ演算子をオーバーロードするの? 演算子に新しい役割をもたせたいから << 演算子 左オペランドが出力ストリーム << 演算子 左オペランドが出力ストリーム 右オペランドが文字列のとき 文字列を出力する cout << “hello!!!”; 左オペランドのデータを 右オペランドで指定されたビット分 左シフトする 5 << 2 演算子の オーバー ロード 00000101 00010100 新しい 役割 << 演算子 左オペランドのデータを 右オペランドで指定されたビット分 左シフトする 5 << 2 00000101 00010100

演算子のオーバーロードの例2 10 5 3 15 13 o1 o2 hello friends hellofriends +演算子 +演算子 coordオブジェクトと coordオブジェクトを加算 左オペランドのデータと 右オペランドのデータを加算  3+7 演算子の オーバー ロード 10 o1 5 3 o2 + 15 13 Stringオブジェクトと Stringオブジェクトを連接 hello friends hellofriends 左オペランドのデータと 右オペランドのデータを加算  3+7

+なのに減算した値が出てきて気持ち悪いぞ 10 o1 5 3 o2 + 7 +なのに減算した値が出てきて気持ち悪いぞ ちょっとびっくり +演算子をオーバーロードして というように実装することもできるが、本来の使い方と正反対になり、混乱を招く coord coord::operator+(coord ob2) { coord temp; temp.x = x - ob2.x; temp.y = y - ob2.y; return temp; } 演算子の本来の使い方から連想できない ような実装をしないこと!!