2011-12-01から1ヶ月間の記事一覧

Privateな変数について

C++

書いててふと気になったので試してみた。こんな感じのソース #include <iostream> class A{ private: int i; public: A(i) : i(i); bool look(A& a){ return a.i > 0; } }; int main(){ using namespace std; A a1(1), a2(-1); if(a1.look(a2)) cout << "positive" << </iostream>…

C++の悩ましいイテレータ

C++

STLのstd::vector::iterator というのはtypedefであって、クラスではない。 なので、 std::vector<int> vec; std::vector<int>::iterator it; it = vec.begin(); it = it + 10; //← vec.end()を越える for(int i = 0; it != vec.end(); it++){ cout << "What's?" <</int></int>

C++でのポリモーフィズムと継承と、コード保守性

C++

結論から言うと「ポインタを使うしかない」ということなのですが,まずはいくつかの問題とパターンを見てみましょう. 初めは、C++で継承を使ったポリモーフィズム実現まで まず例題として複数クラスが関連したものを想定します.今回は下記のような小説と本…