したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

管理人の独り言(プログラミング関連)

332 ◆rCEzuNnL0g:2008/09/10(水) 20:53:29
まあ、補正用にvbtableが入るのは間違いない。
検証用に用意した、適当なソースコードでも貼っておく。
-----

#include <iostream>
#include <string>

class IClass{
public:
virtual
~IClass(){}

virtual
int Get() = 0;

int m_1;
int m_2;
int m_3;
};

class ISub1 : virtual public IClass{
public:
virtual
~ISub1(){}

int m_v1;

virtual
int Get1() = 0;
};

class ISub2 : virtual public IClass{
public:
virtual
~ISub2(){}

int m_v2;

virtual
int Get2() = 0;
};

class CSub : public ISub1, public ISub2{
public:
virtual
int Get1(){
return m_v1;
}
virtual
int Get2(){
return m_v2;
}
virtual
int Get(){
return m_1;
}
};

int main(int argc, char **argv){
CSub cs;
CSub *pcs = &cs;

pcs->m_1 = 0;
pcs->m_2 = 0;
pcs->m_3 = 0;
pcs->m_v1 = 0;
pcs->m_v2 = 0;

if((void*)pcs == (void*)(IClass*)pcs){
std::cout << "equal" << std::endl;
}else{
std::cout << "unequal" << std::endl;
}

/*
ISub1 *pi1 = &cs;
ISub2 *pi2 = &cs;
IClass *pic = &cs;

pcs->m_1 = pi1->m_1 = pi2->m_1 = pic->m_1 = -1;
*/
};


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板