关于头文件
1.书上说:设计头文件应使其能被多次包含在同一源文件中所以只有声明不定义 a. 那我如下写的类定义是不是错的?#include <string>
#include <iostream>
using namespace std;
class screen{
public:
typedef string ::size_type index;
char get() const{ return contents[ cursor];}
inline char get(index ht,index wd) const;
index get_cursor() const;
screen(index hght, index wdth,const string & cntnts);
screen& move (index r,index c);
screen& set (char);
screen& display(ostream & os);
private :
string contents;//b. 是不是这些变量前都要在前面加上extern?如果这样是不是在cpp里还要把这部分写一遍啊,只是不加extern?
index cursor;
index height;
index width;
};
2.又有一章说:类定义放在.h里,成员函数定义一般放在同名的源文件里 a. 结合问题1,变量声明在头文件,这说函数定义在源文件。那变量定义在哪? b. 我们写main时包含了头文件,但没提 其同名源文件的事啊,编译器会自动去找? c. 我用vs2010 的添加选项:除了创建项里有头文件,还有一个创建类。那用这个创建类的选项和 书上所说,用头文件,源文件的方式有区别吗?有的话哪个好? d. 创建的头文件不在当前的工程下,要包含这个头文件仍是直接#include"screen"就好了? 谢谢