Salve a tutti.
Avrei una domanda sul corretto uso dei modificatori in C++.
Supponiamo che io abbia un header MyClass.h

codice:
class MyClass {

public:
    explicit MyClass(int id);
    static MyClass* getInstance();
    int getId() const;

private: 
    static MyClass* _instance;
};
L'implementazione di costruttore e metodi è demandata ad un file apposito MyClass.cpp.
Per un corretto uso dei modificatori, dovrei specificare ancora una volta i modificatori nel file MyClass.cpp oppure devo ometterlo?

Esempio:

codice:
#include "MyClass.h"

MyClass* MyClass::_instance = 0;

MyClass::MyClass(int id) {  // etc. }
MyClass* MyClass::getInstance() { // etc. }
int MyClass::getId() { // etc. }
Oppure:

codice:
#include "MyClass.h"

static MyClass* MyClass::_instance = 0;

explicit MyClass::MyClass(int id) {  // etc. }
static MyClass* MyClass::getInstance() { // etc. }
int MyClass::getId() const { // etc. }
Qual'è la scelta giusta?
Grazie mille in anticipo, saluti.