007
15.12.2006, 23:43 Uhr
Yadgar
|
Zitat von J-jayz-Z: |
Evtl. schaust du einfach mal hier und postest dann hier gleich noch den Code, falls er dehalb nicht kompiliert
|
Also, hier der Header (classtest.h):
C++: |
#ifndef CLASSTEST_H #define CLASSTEST_H
class TestClass { private: short a; short b; public: TestClass(short ia, short ib); // Konstruktor ~TestClass(); // Destruktor void displayValues(); void alterValues(short ia, short ib); };
#endif
|
Die Klassendefinition (classtest.cpp):
C++: |
#include"classtest.h" #include<iostream> using namespace std;
TestClass::TestClass(short ia, short ib) // Konstruktor : a(ia), b(ib) { cout << "TestClass-Objekt erzeugt!"; }
TestClass::~TestClass() // Destruktor { cout << "TestClass-Objekt zerstört!"; }
void TestClass::displayValues() { cout << "(" << a << "/" << b << ")" << endl; }
void TestClass::alterValues(short ia, short ib) { a = ia; b = ib; }
|
...schließlich das Hauptprogramm (ctmain.cpp):
C++: |
#include<iostream> using namespace std; #include "classtest.cpp"
int main() { TestClass tc(4, 6); tc.displayValues(); tc.alterValues(11, 5); tc.displayValues();
return 0; }
|
Das hier wiederum ist der Fehlermeldungs-Salat, den ich bei g++ classtest.cpp ctmain.cpp -o ct/exe bekomme:
Code: |
/tmp/ccwsioQ7.o(.text+0x0): In function `TestClass::TestClass[not-in-charge](short, short)': : multiple definition of `TestClass::TestClass[not-in-charge](short, short)' /tmp/cc4dHTZm.o(.text+0x0): first defined here /tmp/ccwsioQ7.o(.text+0x3c): In function `TestClass::TestClass[in-charge](short, short)': : multiple definition of `TestClass::TestClass[in-charge](short, short)' /tmp/cc4dHTZm.o(.text+0x3c): first defined here /tmp/ccwsioQ7.o(.text+0x78): In function `TestClass::~TestClass [not-in-charge]()': : multiple definition of `TestClass::~TestClass [not-in-charge]()' /tmp/cc4dHTZm.o(.text+0x78): first defined here /tmp/ccwsioQ7.o(.text+0x96): In function `TestClass::~TestClass [in-charge]()': : multiple definition of `TestClass::~TestClass [in-charge]()' /tmp/cc4dHTZm.o(.text+0x96): first defined here /tmp/ccwsioQ7.o(.text+0xb4): In function `TestClass::displayValues()': : multiple definition of `TestClass::displayValues()' /tmp/cc4dHTZm.o(.text+0xb4): first defined here /tmp/ccwsioQ7.o(.text+0x118): In function `TestClass::alterValues(short, short)': : multiple definition of `TestClass::alterValues(short, short)' /tmp/cc4dHTZm.o(.text+0x118): first defined here collect2: ld returned 1 exit status
|
Was bedeutet hier "in-charge" bzw. "not-in-charge"?
Bis bald im Khyberspace!
Yadgar
Now playing: Oye mi canto (Gloria Estefan) -- Flagmaker - ein Programmier-Blog Dieser Post wurde am 16.12.2006 um 01:58 Uhr von Pablo editiert. |