类和成员函数(初学者)

Class and Member Function (beginner)

本文关键字:初学者 函数 成员      更新时间:2023-10-16

我目前正在读一本 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();
}
  1. 这是此示例中的唯一用途。 您还可以使用指向 void 的指针 ( void * )。
  2. 您不会返回该消息。 您正在打印它。 在C++中,方法和函数可能会产生副作用。 输出一种可能的副作用。
  3. 是的,在这种情况下。 但是,这不是对象好处的现实示例。 为此,请参阅如何向初学者描述面向对象编程?有没有一个很好的现实世界类比?在许多地方中。

在此示例中,void仅用于声明返回类型吗?

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

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

消息

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

创建

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

这不是一个容易的问题。这更像是一个面向对象设计原则的问题。
具有类和成员函数的目的是将数据和对该数据进行操作的方法绑定到单个单元中。你可能想拿起一本好书,读一读《封装与抽象》。

权威C++书指南和清单

  1. 在您的情况下,函数"displayMeassage"不返回字符串,它只是打印您的消息。

  2. 返回意味着,假设一个例子:

    A类

    {

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

    };

    空主()

    {

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

    }

    在上面的例子中,getNum 返回的数字就是返回
    的数字 叫。

  3. 无论您以什么为例,都不好理解返回概念。

谢谢