关于 C++ 类的写法,该如何解决

关于 C++ 类的写法
习惯了使用 Java 和 C# ,它们都是在定义类的时候,直接把类的实现也写在类中。

不知道正统的 C++ 类写法是什么?

是: 将类的定义写在 XX.h 文件中, 类的实现写在 XX.cpp 中 呢?
还是: 和 Java、C# 一样,将类的定义和实现一起写在 XX.h 中?

此外,在 C++ 中重复 include 同一个 .h 文件, 有没有问题? 好像在 .h 文件中定义了变量了,会导致问题?
正统的写法又是怎么样的呢?
c++ include 重复 include

------解决方案--------------------
更正一下,其他的是
#ifndef _AAA_H
#define _AAA_H
...//定义
#endif
------解决方案--------------------
1.类的函数声明在.h文件中, 类的函数实现在.cpp中。不过有一些函数的实现可以写在.h中 比如inline
2.在每一个.h文件的最前面,用宏
#pragma once
 或者自己用头文件卫士 
#ifndef __FILE_NAME_  #define __FILE_NAME_  /*中间是你类的代码*/ #endif 

------解决方案--------------------
1. h中申明,cpp中实现
2. #pragma once可以防止头文件重复包含
------解决方案--------------------
是: 将类的定义写在 XX.h 文件中, 类的实现写在 XX.cpp 中 

古老的mfc  有宏定义  
vs2010 用pragma once 至编译一次

------解决方案--------------------
也不完全是这样吧。看怎么让读者容易理解了。 在.h文件中定义短小简洁的函数实现也是可以的,一般默认就是 内联了 。 冗长的功能函数就写到CPP文件中比较好了。
------解决方案--------------------
“h中申明,cpp中实现”这种做法是因为当时的IDE不够强大,这种做法可以使一个类的接口变的非常清,因为头文件中只有申明,但这种习惯被一直保留下来,以至于现在C++程序都这么写。
其实直接与Java一样写在类中也没有任何问题,现在的IDE可以自动提取类的结构,无需再直接看头文件了。