如何在C ++中显示使用对象引用调用的函数的结果
How to display the result of function called using object reference in c++
#include "pch.h"
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <stdio.h>
using namespace std;
class LetterDistribution
{
public: char district, trace;
public: int random_num;
public : LetterDistribution(){}
public: LetterDistribution(char dis)
{
district = dis;
trace = 'Z';
}
public: string LetterNumbers()
{
random_num = rand();
string letter_no ( district + " " + random_num);
return letter_no;
}
};
int main()
{
srand(time(0));
cout << "Enter district\n"<<endl;
char dis ;
cin >> dis;
LetterDistribution ld(dis);
cout << ld.LetterNumbers();
return 0;}
我在 main "cout << ld.LetterNumbers();" 的倒数第二行中遇到错误。我是 c++ 的新手,我之前一直在研究 C#。如果有人能帮助我,我将不胜感激。
您在 LetterNumbers
函数中有 2 个问题:
- 您不能将数字添加到字符串中,您应该先将数字转换为字符串。你可以通过
std::to_string(random_num)
- 您不能开始将字符串与字符连接起来,因为字符就像 C++ 中的数字,向数字添加任何内容都是数字。你应该从
string
开始,即使是空的。
所以整个函数可以是这样的:
string LetterNumbers()
{
random_num = rand();
string letter_no ( std::string("") + district + " " + std::to_string(random_num));
return letter_no;
}
另一个问题:(但不是错误!)
- 在 c++ 中,您可以指定一次
public:
,它之后的所有内容仍然是 public
,直到您更改它。 private
和 protected
. 同样的事情
- 而不是
<stdio.h>
你应该使用 <cstdio>
这是 c 头文件的 c++ 包装器。
#include "pch.h"
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <stdio.h>
using namespace std;
class LetterDistribution
{
public: char district, trace;
public: int random_num;
public : LetterDistribution(){}
public: LetterDistribution(char dis)
{
district = dis;
trace = 'Z';
}
public: string LetterNumbers()
{
random_num = rand();
string letter_no ( district + " " + random_num);
return letter_no;
}
};
int main()
{
srand(time(0));
cout << "Enter district\n"<<endl;
char dis ;
cin >> dis;
LetterDistribution ld(dis);
cout << ld.LetterNumbers();
return 0;}
我在 main "cout << ld.LetterNumbers();" 的倒数第二行中遇到错误。我是 c++ 的新手,我之前一直在研究 C#。如果有人能帮助我,我将不胜感激。
您在 LetterNumbers
函数中有 2 个问题:
- 您不能将数字添加到字符串中,您应该先将数字转换为字符串。你可以通过
std::to_string(random_num)
- 您不能开始将字符串与字符连接起来,因为字符就像 C++ 中的数字,向数字添加任何内容都是数字。你应该从
string
开始,即使是空的。
所以整个函数可以是这样的:
string LetterNumbers()
{
random_num = rand();
string letter_no ( std::string("") + district + " " + std::to_string(random_num));
return letter_no;
}
另一个问题:(但不是错误!)
- 在 c++ 中,您可以指定一次
public:
,它之后的所有内容仍然是public
,直到您更改它。private
和protected
. 同样的事情
- 而不是
<stdio.h>
你应该使用<cstdio>
这是 c 头文件的 c++ 包装器。