C++相談室 part38
■ このスレッドは過去ログ倉庫に格納されています
0362デフォルトの名無しさん
NGNGコンストラクタ起動時は変数a,bのコンストラクタ起動前なのに
a,bへのポインタを使っていますが、これはC++の規格的にOKですか?
#include<iostream>
class Base {
protected:
hoge_t a b, *ptr;
Base( hoge_t *p ) : a(), b(), ptr( p )
{ a= ...; b= ...; } //aとbの初期化処理
public:
const hoge_t get(void) { return *ptr; }
};
class A : public Base {
public:
A(void) : Base( &a ) {}
};
class B : public Base {
public:
B(void) : Base( &b ) {}
};
int main(void){
A a;
B b;
std::cout<< a.get()<< "\n";
std::cout<< b.get()<< "\n";
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています