[英]Debugging a simple program in 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;
}
您沒有將您的名字傳遞給NameFunction
。
cout<<NameObj.NameFunction("" , "");
// blank ^^ ^^
它應該是:
cout<<NameObj.NameFunction(namefirst , namelast);
首先,您需要包含標題<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;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.