c++抽象类的多文件处理问题
源码如下:
//Base0.h
#include <iostream>
using namespace std;
#ifdef _1_
#define _1_
class base0
{
public :
virtual void set()=0;
};
#endif
//Base1.h
#include "Base0.h"
//#ifdef _0_
//#define _0_
class base1 :public base0
{
public :
void set();
};
//#endif
//Base2.h
#include "Base0.h"
class base2 :public base0
{
public :
void set();
};
//fun1.cpp
#include "Base1.h"
void base1::set ()
{
cout << " this is base1!!!" << endl;
}
//fun2.cpp
#include "Base2.h"
void base2::set ()
{
cout << " this is base2!" << endl;
}
#include "Base1.h"
#include "Base2.h"
int main ()
{
base1 b1;
b1.set();
base2 b2;
b2.set ();
return 0;
}
以上源码在多文件处理上有误,求确处理方法!!请各路大侠帮帮忙。谢谢。
//Base0.h
#include <iostream>
using namespace std;
#ifdef _1_
#define _1_
class base0
{
public :
virtual void set()=0;
};
#endif
//Base1.h
#include "Base0.h"
//#ifdef _0_
//#define _0_
class base1 :public base0
{
public :
void set();
};
//#endif
//Base2.h
#include "Base0.h"
class base2 :public base0
{
public :
void set();
};
//fun1.cpp
#include "Base1.h"
void base1::set ()
{
cout << " this is base1!!!" << endl;
}
//fun2.cpp
#include "Base2.h"
void base2::set ()
{
cout << " this is base2!" << endl;
}
#include "Base1.h"
#include "Base2.h"
int main ()
{
base1 b1;
b1.set();
base2 b2;
b2.set ();
return 0;
}
以上源码在多文件处理上有误,求确处理方法!!请各路大侠帮帮忙。谢谢。
作者: xiaochangcong123 发布时间: 2011-06-14
这里就写错了!
#ifdef _1_
#define _1_
====》
#ifndef _1_
#define _1_
#ifdef _1_
#define _1_
====》
#ifndef _1_
#define _1_
作者: healer_kx 发布时间: 2011-06-14
嗯,谢谢,除了这个问题之外的,主要是如何处理多文件的问题
作者: xiaochangcong123 发布时间: 2011-06-14