mehrere Definitionen Fehler in c++ und Lösung um dieses Problem zu lösen

Ich bin neu in C++. Ich habe einige Zweifel in Bezug auf mehrere Definitionen Fehler in C++.

Sagen wir, ich habe 3 Dateien in einem Programm. Eine header-Datei und 2 .cpp-Dateien. Ich habe die header-Datei, in der sowohl die .cpp-Dateien.

  1. Ich habe erklärt, eine Klasse in der header-Datei und ich habe die Klasse in jedem der .cpp Dateien in genau der gleichen Weise. So wird diese Art der Umsetzung dazu führen, dass mehrere Definitionen Fehler? Wenn ja, ist es, weil es hat zwei Kopien der Klasse-Definitionen und der compiler nicht weiß, welche man nehmen während der Verknüpfung der beiden .o Dateien?

Können wir lösen dieses problem, indem extern in der header-Datei und die Definition der Klasse in der nur eine der beiden Dateien?Wenn wir das lösen können das Problem mit dieser Methode,haben wir zu gehören die .cpp(mit Klassendefinition) in andere .cpp Datei(mit keine Klassen-definition)?

  1. Habe ich deklariert und definiert eine Klasse in einer header-Datei. Ist in diesem Fall das gleiche wie oben (erwähnt in 1)?
  2. Ich habe erklärt, eine Klasse in der header-Datei und ich habe die Klasse in jedem der .cpp-Dateien, aber die Definitionen (Funktionskörper)unterscheidet. So wird diese Form der Umsetzung führt zu mehreren Definitionen Fehler? Wenn ja, wie können wir dieses problem lösen, in denen die Funktionen Körper unterscheidet sich in der .cpp-Dateien?

InformationsquelleAutor starkk92 | 2013-09-20

Schreibe einen Kommentar