【问题标题】:How to display the result of function called using object reference in c++如何在 C++ 中显示使用对象引用调用的函数的结果
【发布时间】:2018-11-18 16:22:54
【问题描述】:
#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;}

我在主“cout

【问题讨论】:

    标签: class object display function-call


    【解决方案1】:

    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 也一样。
    • 您应该使用 &lt;cstdio&gt; 而不是 &lt;stdio.h&gt;,它是 c 标头的 c++ 包装器。

    【讨论】:

    • 非常感谢您的帮助。现在完美运行。
    猜你喜欢
    • 2016-02-18
    • 1970-01-01
    • 2017-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多