Błąd kompilacji - konstruktor.

Błąd kompilacji - konstruktor.
PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 61
0

Witam, mam problem z napisaniem konstruktora.
Plik header

Kopiuj
 
#ifndef CBUDYNEK_H_INCLUDED
#define CBUDYNEK_H_INCLUDED
#include "Cbudynek.cpp"
#include <iostream>
#include <cstring>
using namespace std;

class Cbudynek
{
private:
    int year;
    double height;
    char* name;
public:
    Cbudynek();

};


#endif // CBUDYNEK_H_INCLUDED

Plik źrodłowy

Kopiuj
 
#include "CBudynek.h"
#include <iostream>
#include <cstring>
using namespace std;

Cbudynek::Cbudynek() :year(1887) , height (342.7)
{
    name = new char[ (strlen("Eiffla") ];
    name = "Eiffla";
};

Błąd jaki się pojawia to:

Kopiuj
||=== Build: Debug in Zadanie (compiler: GNU GCC Compiler) ===|
E:\Prace\C++\Lab2\Lab2 myOwn\Zadanie\Cbudynek.cpp|6|error: 'Cbudynek' does not name a type|
E:\Prace\C++\Lab2\Lab2 myOwn\Zadanie\Cbudynek.cpp||In constructor 'Cbudynek::Cbudynek()':|

 
twonek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2500
4
Kopiuj
#include "Cbudynek.cpp"

Nigdy nie dołączaj plików .cpp w nagłówkach. Istnieje jeden kontrowersyjny wyjątek (szablony), ale na razie zapamiętaj pierwsze zdanie.

Kopiuj
name = new char[ (strlen("Eiffla") ];

Nawiasy się nie zgadzają.

Kopiuj
name = "Eiffla";

Tak się nie kopiuje tablicy znaków. Zainteresuj się strcpy(), albo najlepiej std::string.

PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 61
0

Dziękuje za pomoc w tak banalnym problemie.
Skorzystałem ze strcpy().

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.