![]() |
#2
peach54602013-08-22 20:13
|
1.ceshi.hpp

#include<iostream>
using namespace std;
class ceshi {
public:
ceshi(int x):ce(x){ }
void out();
private:
int ce;
};
using namespace std;
class ceshi {
public:
ceshi(int x):ce(x){ }
void out();
private:
int ce;
};
成员还是ceshi的实现放在另外一个cpp中
2.ceshi.cpp

#include<iostream>
#include"ceshi.hpp"
using namespace std;
void ceshi::out(){
cout<<ce;
}
#include"ceshi.hpp"
using namespace std;
void ceshi::out(){
cout<<ce;
}
最后是主程序
3.main.cpp

#include<iostream>
#include"ceshi.hpp"
using namespace std;
int main(){
ceshi ll(5);
ll.out();
return 0;
}
#include"ceshi.hpp"
using namespace std;
int main(){
ceshi ll(5);
ll.out();
return 0;
}
根据书上的说法我觉得是这样安排的,但是无法编译成功。
还有一种是在头文件这样修改
修改后:

#include<iostream>
using namespace std;
class ceshi {
public:
ceshi(int x):ce(x){ }
void out();
private:
int ce;
};
#include"ceshi.cpp"
using namespace std;
class ceshi {
public:
ceshi(int x):ce(x){ }
void out();
private:
int ce;
};
#include"ceshi.cpp"
在最后加上成员函数定义的源文件。
另外成员函数定义的文件里不再包括头文件
这样运行是正确的。
但是感觉跟书上讲的不一样。
求前辈解答,我看是的是C++primer