ぼんさい塾

ぼんさいノートと補遺に関する素材や注釈です.ミスが多いので初稿から1週間を経た重要な修正のみ最終更新日を残しています.

Cから見たC++ (5)

2010-10-19 18:24:41 | 暮らし
記事一覧(Cの文法(1)~(17),他)
まず覚えるCの文法(progC.pdf)

Ex1-1.cpp: 解答例
//-------------------------------------
#include <iostream.h>
double pi=3.141592653589793;
int main(void){
  double r;
  cout << "r="; cin >> r;
  cout << "S=" << pi*r*r << "\n";
  return 0;
}
//-------------------------------------

P25.cpp: 宣言文
//-------------------------------------
#include <iostream.h>
int main(void){
  int k=1;
  for(int i=1; i<10; i++){k=k*i;}
  cout << "k=" << k;
  return 0;
}
//-------------------------------------

P41.cpp: 関数の定義と呼び出し
//-------------------------------------
#include <iostream.h>
int sum(int i, int k){
  return i+k;
}
void add(int &i, int k){
  i=i+k; return;
}
int main(void){
  int k=3;
  cout << "sum(k, 2)==" 
       << sum(k, 2) << "\n";
  k=sum(3, k+4);
  cout << "k==" << k << "\n";
  add(k, 5);
  cout << "k==" << k << "\n";
  return 0;
}
//-------------------------------------

=================================================
4. その他

クラスと多重定義以外のCとC++の主な違いを「Cの
文法」を参照しながら説明します.

・「Cの文法」で単に「P41:」のように表わしてした
  プログラムを「P41.c」で参照します.
・「//」から行末までをコメントにするのは C++ の
  記法で,Cではエラーになります.

C++では画面への出力は ostream 型のオブジェクト
cout へのストリームとして,キーボードからの入力
は istream 型のオブジェクト cin へのストリーム
として扱います.これらを使うには iostream.h を
include する必要があります.

・「cout << "k=" << k;」は
    (cout.operator<<("k=")).operator<<(k);
  を意味します.演算子オーバーロードはCの演算子
  の優先度と結合規則は変わらないので,「<<」よ
  り優先度が低い演算子を含む式には注意しましょう.

宣言文の前に実行文を書いてはいけないというのはC
のときで,C++では P25.cpp もエラーになりません.

・宣言文が有効になるのは宣言以降の部分です.

C++では関数の引数を「参照渡し」にして,変数の値
を直接変更できます.参照渡しを指定するには,仮引
数の先頭にアドレス演算子「&」を付けます.

・P41.cpp の「add(k, 5);」は「k=k+5;」と同じです.
・「int m[2];」で宣言して「add(*(m+7), 5);」を実
  行してもエラーになりません.

[4-1] 第29章 入出力ストリーム①
[4-2] 第30章 入出力ストリーム②
[4-3] 第15章 参照
[4-4] 引数 - Wikipedia


最新の画像もっと見る

コメントを投稿