C++
手続き型プログラミング・データ抽象・オブジェクト指向プログラミング・ジェネリックプログラミングといった複数のプログラミングパラダイムをサポートするマルチパラダイムプログラミング言語
c++はcとの完全な互換性がありc++とcの両方を使える。そのため現在純粋なcコンパイラは稀で実はc++との併用である事が多い。 cに比べエラー処理や抽象性に優れている。 またメモリの取扱いもcに比べると扱いやすい
Hello world
#include <iostream>
int main(void) {
using namespace std;
cout<<"hello world"<<endl
return 0;
}
これが何故便利なのかというと変数を入出力させたい場合にはこれでいいからです。
入出力
#include<iostream>
int main(){
int a=0;
using namespace std;
cin>>a;
cout<<a<<endl;
}
またはこれでもいい
#include<iostream>
int main(){
int a=0;
std::cin>>a;
std::cout<<a<<std::endl;
}
cout,cin文は他にもエラー処理や整形などに便利に使えます。
クラス
c++はオブジェクト指向言語でもあるため、当然クラスが使えます。
構造
class クラス名{
private: // ~~非公開部分~~
データメンバ
・・・
public: //~~公開部分~~
メンバ関数
・・・
}
sample
#include<iostream>
class test
{
private: // ~~非公開部分~~
int a;
public: //~~公開部分~~
void pspt();
};
void test::pspt(){//クラスで使う関数の具体的な定義
int i;
a=1;//メンバ変数に値をいれる
std::cin>>i;
std::cout<<a<<std::endl;
std::cout<<"入力された数字は"<<i<<"です。"<<std::endl;
}
int main(){
test a;//aをクラス型と定義
a.pspt();
}
クラスはデータを抽象的にまとめる事ができ便利です。 クラスを使えばベクトルの足し算 掛け算
なども表現できます。 物理学のプログラムを実装するに当たって強力な武器になります。
ファイル入出力
C++ならファイル入出力も簡単に記述できます。もちろんC言語と同じ書き方をしても問題ありません。
ファイル入力
hoge.txtから数字を取得して画面表示します。
#include <iostream>
#include <fstream>
int main(){
ifstream fin;
int a[10];
fin.open("hoge.txt");
if (fin.fail()) return -1;
for (int i = 0; i < 10; i++) fin >> a[i];
for (int i = 0; i < 10; i++) fout << "a=" << a[i] << endl;
return 0;
};
ファイル出力
配列を定義してそれをfuga.txtに書き込みます。
#include <iostream>
#include <fstream>
int main(){
ofstream fout;
int a[10]={3,1,4,1,5,9,2,6,5,4};
fout.open("fuga.txt");
for (int i = 0; i < 10; i++) fout << "a=" << a[i] << endl;
return 0;
};
外部アプリケーションを動かす
gnuplotを動かす
#include <iostream>
#include <fstream>
int main(){
FILE* gnuplot = _popen("gnuplot", "w");
fprintf(gnuplot, "pl sin(x)\n");
fflush(gnuplot);
return 0;
};
参考
最終更新:2014年07月17日 23:49