如何在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 个问题:

  1. 您不能将数字添加到字符串中,您应该先将数字转换为字符串。你可以通过 std::to_string(random_num)
  2. 您不能开始将字符串与字符连接起来,因为字符就像 C++ 中的数字,向数字添加任何内容都是数字。你应该从 string 开始,即使是空的。

所以整个函数可以是这样的:

string LetterNumbers()
{
  random_num = rand();
  string letter_no  ( std::string("") + district + " " + std::to_string(random_num));
  return letter_no;
}

另一个问题:(但不是错误!)

  • 在 c++ 中,您可以指定一次 public:,它之后的所有内容仍然是 public,直到您更改它。 privateprotected.
  • 同样的事情
  • 而不是 <stdio.h> 你应该使用 <cstdio> 这是 c 头文件的 c++ 包装器。