コメントとか文字化けするんだが、どうすればいいか?
Qiitaを使う際に特殊な記号とかあるのか?「#」はタイトルとか
htmlでいうところのh1とか見出し?
本に書いてあるサンプルをやってみたのだが、
名前空間の使い方を初めて学んだ。
とりあえず、using namespace hogehoge;で呼び出せるようだ。(想像)
usingしないとhogehoge::hogeのようにやらんと使えないか(想像)
main.cpp
#include <iostream>
using namespace std;
namespace firstNS{
class demo{
int i;
public:
demo(int x) { i = x; }
void seti(int x) { i = x;}
int geti() { return i; }
};
char str[] = "名前空間を説明する\n";
int counter;
}
namespace secondNS{
int x, y;
}
int main(){
//スコープ解決演算子を使用する
firstNS::demo ob(10);
/*obを宣言した後は、名前空間就職しを使用せずに
そのメンバ関数を使用することができる*/
cout << "ob value is : " << ob.geti();
cout << endl;
ob.seti(99);
cout << "now ob value is : " << ob.geti();
cout << endl;
//strを現在のスコープを取り込む
using firstNS::str;
cout << str;
//firstNSのすべてびメンバを現在のスコープに取り込む
using namespace firstNS;
for(counter = 10; counter; counter--)
cout << counter << " ";
cout << endl;
//secondNS 名前空間を使用する
secondNS::x = 10;
secondNS::y = 20;
cout << "x, y: " << secondNS :: x;
cout << ", " << secondNS::y << endl;
//2つの名前空間を可視状態にする
using namespace secondNS;
demo xob(x), yob(y);
cout << "xob, yob: " << xob.geti() << ", ";
cout << yob.geti() << endl;
return 0;
}
//10分プログラミング(自分用に使うために作った自分用の造語)
//実際はだいたい20m47s掛かった。(ストップウォッチで計測)
//他、20分程、例外処理とかやった。