【问题标题】:Class and Member Function (beginner)类和成员函数(初学者)
【发布时间】:2012-04-10 04:58:47
【问题描述】:

我目前正在阅读一本 c++ 书籍,我有几个问题。

1) 在这个例子中,void 是否只用于声明返回类型?

2) 如果 void 导致它不向调用函数返回数据,为什么它仍然显示消息“欢迎来到成绩簿!”?

3) 创建一个简单的函数不是比创建一个对象更容易吗?

#include <iostream>
using namespace std;

class GradeBook
{
public:
    void displayMessage()
    {
        cout << "Welcome to the Grade Book!" << endl;
    }
};

int main()
{
    GradeBook myGradeBook;
    myGradeBook.displayMessage();
}

【问题讨论】:

    标签: c++ class object member-functions


    【解决方案1】:
    1. 这是本示例中的唯一用途。您还可以拥有指向 void (void *) 的指针。
    2. 您没有返回该消息。你正在打印它。在 C++ 中,方法和函数可能有副作用。一种可能的副作用是输出。
    3. 是的,在这种情况下。然而,这并不是一个对象的好处的现实例子。为此,请在许多地方查看How do I describe Object-Oriented Programing to a beginner? Is there a good real-world analogy?

    【讨论】:

    • 对象有什么好处?
    • @30trix:回答这个问题可以写好几本书。我认为您不会在评论中得到完整而有用的回复。
    【解决方案2】:

    本例中void是否只用于声明返回类型?

    是的,这表明displayMessage() 不会向其调用者返回任何内容。
    它也可以用作void *,即:可以指向任何东西的通用指针,但在您的示例中没有以这种方式使用。

    如果 void 导致它不向调用函数返回数据,为什么它仍然显示消息“欢迎来到成绩簿!”?

    消息不会返回给函数的调用者,当控件在函数中并执行特定语句时,消息会被定向到标准输出。

    创建一个简单的函数不是比创建一个对象更容易吗?

    这不是一件容易的事。这更多的是面向对象的设计原则。
    拥有类和成员函数的目的是将数据和在单个单元中对该数据进行操作的方法绑定在一起。您可能想拿起一本好书阅读封装与抽象

    The Definitive C++ Book Guide and List

    【讨论】:

      【解决方案3】:
      1. 在您的情况下,函数“displayMeassage”没有返回字符串,它只是打印您的消息。

      2. 返回的意思,假设一个例子:

        A级

        {

          int num=0;
        
          int getNum()
        
          {
        
             return num;
        
          }
        

        };

        void main()

        {

           A a;
        
           int no=a.getNum();
        
           cout<<"no : "<<no;
        

        }

        在上面的例子中,getNum 方法返回的是返回的数字
        调用。

      3. 无论你举什么例子都不好理解回报的概念。

      谢谢

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-17
        • 1970-01-01
        • 1970-01-01
        • 2013-05-19
        • 1970-01-01
        相关资源
        最近更新 更多