2015-05-15 98 views
-3

嘿傢伙,請告訴我什麼是我的程序錯了。它不輸出我想要的輸出。 如果您向我解釋爲什麼它不顯示任何錯誤,但不顯示輸出,我將非常高興。簡單的程序[幫助] C++

#include<iostream> 
    using namespace std; 

    class DanielClass 
    { 
    public: 
string NameFunction(string first_name, string last_name) 
{ 
    return fullname = first_name + " " + last_name; 
} 


    private: 
string fullname; 

}; 



int main() 
{ 
string namefirst; 
string namelast; 
DanielClass NameObj; 

cout<<"Enter your first name: "; 
cin>>namefirst; 
cout<<"Enter your last name: "; 
cin>>namelast; 
cout<<"Your full name is: "; 
cout<<NameObj.NameFunction("" , ""); 

return 0; 
} 
+0

COUT << NameObj.NameFunction(namefirst,namelast); calll功能與可讀名稱不空字符串 –

回答

1

您需要將strings傳遞給函數,它的工作:

cout<<NameObj.NameFunction(namefirst ,namelast); 

Here is an example

1

你是不是通過你的名字變成NameFunction

cout<<NameObj.NameFunction("" , ""); 
//     blank ^^ ^^ 

它應該閱讀:

cout<<NameObj.NameFunction(namefirst , namelast); 
0

首先你需要包含頭<string>

#include <string> 

,並代替聲明

cout<<NameObj.NameFunction("" , ""); 

你應該寫

cout<<NameObj.NameFunction(namefirst , namelast); 

至於我,我會宣佈類以下方式

#include <iostream> 
#include <string> 

class DanielClass 
{ 
public: 
    DanielClass(const std::string &first_name, const std::string &last_name) 
     : fullname(first_name + " " + last_name) 
    { 
    } 

    std::string GetFullName() const 
    { 
     return fullname; 
    } 

private: 
    std::string fullname; 
}; 

而且主要會像

int main() 
{ 
    std::string namefirst; 
    std::string namelast; 

    std::cout << "Enter your first name: "; 
    std::cin >> namefirst; 

    std::cout << "Enter your last name: "; 
    std::cin >> namelast; 

    DanielClass NameObj(namefirst, namelast); 

    std::cout << "Your full name is: "; 
    std::cout << NameObj.GetFullName() << std::endl; 

    return 0; 
}