デジタルちんぶろぐ

デジタルな話題

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  268  : 記事  0  : コメント  4419  : トラックバック  79

ニュース


技術以外は
ちんぶろぐ

記事カテゴリ

書庫

日記カテゴリ

2008年6月3日 #

プログラム

#include <iostream> 

class base {
public:
    base() { std::cout << "base::base()" << std::endl; }
    base(int a) { std::cout << "base::base(" << a << ")" << std::endl; }
    virtual ~base() {}
}; 

class derived : virtual public base {
public:
    derived() { std::cout << "derived::derived()" << std::endl; }
    derived(int a) : base(a) { std::cout << "derived::derived(" << a << ")" << std::endl; }
}; 

class more_derived : virtual public derived {
public:
    more_derived() { std::cout << "more_derived::more_derived()" << std::endl; }
    more_derived(int a) : derived(a) { std::cout << "more_derived::more_derived(" << a << ")" << std::endl; }
}; 

template<typename T> void func(const T&) { std::cout << "func()" << std::endl; }
template<> void func<derived>(const derived&) { std::cout << "func<derived>()" << std::endl; } 

int main(int argc, const char* argv[])
{
    func(base(1));
    std::cout << "----------" << std::endl;
    func(derived(2));
    std::cout << "----------" << std::endl;
    func(more_derived(3))

    return 0;
}

※記述ミス(不足)を赤字で修正しました

実行結果

base::base(1)
func()
----------
base::base(2)
derived::derived(2)
func()
----------
base::base()
derived::derived(3)
more_derived::more_derived(3)
func()

 

仮想継承したときには明示的に先祖クラスのコンストラクタを指定していない場合デフォルトコンストラクタが呼ばれる

親クラスで特殊化されていても派生クラスには適用されない

今まで知らずに使っていることはあっても殆ど自分で書くことのない機能だったから知らんかった。

posted @ 20:33 | Feedback (4)

以前は用途毎にPCを分けたりしていたのですが、やっぱり1台で全部出来た方が便利なので、最近PCをちょこちょことパワーアップしていました。

現在こんな構成になっています。

CPU Phenom 9550
M/B GA-MA78GM-S2H
Memory 2G*4
Video SAPPHIRE RADEON HD3650
HDD1 WD 3200AAKS (320GB)
HDD2 WD10EACS-D6B0 (1TB)
DVD PIONEER DVR-215D
Sound E-MU 0404 SE
TV Tuner Leadtek PxPVR2200

OSはWindows Vista Ultimate 64bit

中身はこんな感じ。

machine 
余っていたSI-120+12cmファンが中々の威圧感。

 

今回はAHCIでOSをインストールしたのでマザーボード背面のeSATAインターフェースに外付けHDDを繋ぐとUSB HDD並の手軽さで利用できます。速度は内臓HDDと遜色ないので非常に快適です。

 

しかし、OSをVista64にしてしまったので、サウンドとテレビチューナーはかなり限定されてしまいました。

サウンドは手持ちのM-AUDIO AudioPhile 2496を使おうかとも思ったのですが、AudioPhile 2496はβ版ドライバしか提供されていないのとE-MUのボードも使ってみたかったので、E-MU 0404 SEにしてみました。
RCAのアナログ音声入出力端子があるのは勿論のことデジタル入出力も光・同軸あり音も良好。PCはステレオに繋いであるし買ってきたCDはすぐにリッピングしておくので、ちょっと聴きにはCDプレイヤーを使う必要がなく便利です。
# SACDのDSD層がリッピング&再生できればもっといいのに…

 

テレビチューナーはほとんど選択肢が無いので、半ば仕方なくPxPVR2200にしました。
カードのアナログ音声出力をサウンドカードに繋いでいないと添付のTV視聴ソフトで音が出ないみたいですし、正直なところ画質も良いとは思えませんが、Windows Media Centerで観れば音声は出るし、ウィンドウを小さくすれば画質の悪さも気にならないので問題なし。

 

色々立ち上げた画面

screen_shot

画面の片隅にWMCを起動してテレビを観ながら、プログラムのお勉強用にVS立ち上げて、Linuxのお勉強用にVMWare+Debian。

翻訳ソフトで日本語→ドイツ語変換を試しつつPhotoshop Elementsでこのキャプチャ画面を加工。

 

画質が納得できないので結局録画マシンは残ったままですが、録画ファイルはNAS(玄箱Pro)に保存してメインマシンで鑑賞という流れなので、普段操作するPCは一台で済んでます。

posted @ 0:20 | Feedback (6)