   [c++]model view presenteer
  hy.I'm still learningthe MVP (model view presenteer)pattern ,and i try to code some class:class presenter://.cpp#pragma once#include "Presenter.h"class cpresenter{...}//.h#pragma once#include <vector>#include "model.h" //I'm including the headers of model#include "DynamicTextures.h";//and  viewusing namespace std;classe Model://.cpp#pragma once#include "Model.h"//.h#pragma once#include <cv.h>#include <highgui.h>#include "ARToolKitPlus/TrackerSingleMarkerImpl.h"#include "ARToolKitPlus/ar.h"#include <stdio.h>#include <string.h>#include <glut.h>class CModel{...}class view DynamicTextures.//.cpp#include "DynamicTextures.h"//view class//.h#include presenter.h//...private:   cpresenter m_presenter;//dichiaro il presenter come variabile membro di classeThese class have linker errorsi that say that some functions are already implemted in filexxx.objThe presenter from that i'm understand is a bridge from view and model, then i have in the presenteer two reference :pModel and pView that i 'm initialize at the start of the project.the problem is that the view is a main class in my application that have some public function that i can set from the presenteer for fill it with dataso , i must create an application separated from view application and encapsulate it with the presenteer in a container class?thanks.   
  What are the exact errors?it sounds like you're implementing functions in the header file, which means they get pulled into multiple source files, which results in the multiple definition linker error.   ;  Thanks evil steeve.But they told me that my implemetation of the mvp is completly wrong ,I do not want to waste your time , you know a correct implementation of mvp pattern in c++?an example or some source code?Thanks.By.   ;  Are you facing problems with the source or the concept I am sorry but neither is clear from the post. Here is what google says : http://www.c-sharpcorner.com/uploadfile/rmcochran/mvc_intro12122005162329pm/mvc_intro.aspxIt's C sharp though.Cheers!   ;  very thanks, i see the example.this is a sample error:Error43error LNK2005: "public: virtual void __thiscall ARToolKitPlus::CameraImpl::logSettings(class ARToolKitPlus::Logger *)" (?logSettings@CameraImpl@ARToolKitPlus@@UAEXPAVLogger@2@@Z) already defined in DynamicTextures.objPresenter.objAnother problem that i have is how put all together in c++.In particulary : i have a 3d application(DynamicTextures) with a method OnIdle that is called repetively for the rendering.This application is used by me as a view because contains some public methods thath modify the drawing in the OnIdle method .this is a the onidle method of dynamictexture:void DynamicTextures::OnIdle (){    MeasureTime();/*m_pPresenter-&gt;GetTextureFromCam();*/    if (MoveCamera())    {   m_kCuller.ComputeVisibleSet(m_spkScene);    }    if (MoveObject())    {   m_spkScene-&gt;UpdateGS();   m_kCuller.ComputeVisibleSet(m_spkScene);    }    m_pkRenderer-&gt;ClearBuffers();    if (m_pkRenderer-&gt;BeginScene())    {   m_pkRenderer-&gt;DrawScene(m_kCuller.GetVisibleSet());   DrawFrameRate(8,GetHeight()-8,ColorRGBA::BLACK);   m_pkRenderer-&gt;EndScene();    }    m_pkRenderer-&gt;DisplayBackBuffer();    // This call occurs here to (1) allow the original image to be displayed    // and (2) to allow the original texture to be loaded to VRAM.   UpdateFrameCount();}the public functions in the dynamictexture modify the m_spkScene by adding/remove / modify coord and is drawed by m_pkRender.for ex:drawingif (MoveObject()){  m_spkScene->UpdateGS();  m_kCuller.ComputeVisibleSet(m_spkScene);}void DynamicTextures::AddMesh(TriMesh* pMesh){   m_spkScene->AddMesh(pMesh)}ecc..then from the presenter i call a function in the presenter(an action), the presenter do some stuff , call the model that have a factory of 3d models and return a mesh , then the presenter call the AddMesh on the view(DynamicTexture)sending the mesh and the draw ....Is that wrong?thanks   