2014-01-21 4 views
0

Здравствуйте, спасибо за помощь, У меня проблема с тем, что я не вижу выхода на консоли eclipse (на linux ubuntu 12.04). У меня есть эта маленькая программа C++:C++: Нет вывода на консоли eclipse

Addressverwaltung.cpp:

#include <iostream> 
#include "Adresse.h" 
using namespace std; 

int main() { 
    cout << "asdf"; 
    Adresse lAdresse1("Max", "Tester", "Strasse 21", 6423, "lol", "[email protected]"); 
    lAdresse1.printAdresse(); 
    lAdresse1.setName("Testing"); 
    lAdresse1.printAdresse(); 

    return 0; 
} 

Adresse.h:

#ifndef Adresse_h 
#define Adresse_h 
#include <iostream> 
#include <string> 


class Adresse{ 
    public: 
     Adresse(std::string pVorname, std::string pName); 
     Adresse(std::string pVorname, std::string pName, std::string pStrasse, int pPlz, std::string pOrt, std::string pEmail); 
     void printAdresse(); 
     void setVorname(std::string pVorname); 
     void setName(std::string pName); 
     std::string getName(); 
    private: 
     std::string mVorname; 
     std::string mName; 
     std::string mStrasse; 
     int mPlz; 
     std::string mOrt; 
     std::string mEmail; 



}; 


#endif 

Adresse.cpp:

#include "Adresse.h" 

Adresse::Adresse(std::string pVorname, std::string pName){ 
    mVorname = pVorname; 
    mName = pName; 
} 

Adresse::Adresse(std::string pVorname, std::string pName, std::string pStrasse, int pPlz, std::string pOrt, std::string pEmail){ 
    mVorname = pVorname; 
    mName = pName; 
    mStrasse = pStrasse; 
    mPlz = pPlz; 
    mOrt = pOrt; 
    mEmail = pEmail; 
} 

void Adresse::printAdresse(){ 
    std::cout << "ADRESSE:"; 
    std::cout << mVorname + mName; 
    std::cout << "STRASSE: " + mStrasse; 
    std::cout << "PLZ: " + mPlz; 
    std::cout << "EMAIL: " + mEmail; 
} 

void Adresse::setVorname(std::string pVorname){ 
    mVorname = pVorname; 
} 

void Adresse::setName(std::string pName){ 
    mName = pName; 
} 

std::string Adresse::getName(){ 
    return mName; 
} 

Всякий раз, когда я нажимаю «запустить «Я вижу сообщение» сделать все : ничего не делать для `all '." в течение примерно 4 секунд, после чего пульт пуст. Я пробовал очистить и перестроить проект, но это не помогает. Кто-нибудь знает, как это исправить?

+0

Что произойдет, если вы выберете «Отладка» вместо «Запустить»? –

+0

вы можете пройти через код, конечно, но theres все равно не выводит, а в cout << mPlz (в методе printadresse) он внезапно останавливается и говорит «Не могу найти исходный файл на» ../sysdeps/x86_64/multiarch /strlen-sse2-pminub.S " Найдите файл или отредактируйте путь поиска источника, чтобы включить его местоположение." что я узнал: когда я положил << endl; на всех выходах printAdresse(); по крайней мере имя и strasse попадают на консоль – RandomDisplayName

ответ

0

Поместите cout.flush() перед возвратом в main(). Это должно помочь:

int main() { 
    cout << "asdf"; 
    Adresse lAdresse1("Max", "Tester", "Strasse 21", 6423, "lol", "[email protected]"); 
    lAdresse1.printAdresse(); 
    lAdresse1.setName("Testing"); 
    lAdresse1.printAdresse(); 

    cout.flush(); // <<<<<<<<<<<<<<<<<<<<<<<< 

    return 0; 
} 
+0

Он все еще не показывает мне mPlz (6423) на консоли, а также по электронной почте, это потому, что mPlz является целым числом? – RandomDisplayName

+0

@RandomDisplayName _'because mPlz - целое число. Да. Вы не можете конкатенировать строку (литерал) и целое число, используйте '<<' вместо '+'! –

+0

спасибо за вашу помощь, все это сработало сейчас;) – RandomDisplayName

Смежные вопросы