2012-04-10 37 views
0

我正在阅读一本C++书,我有几个问题。类和成员函数(初学者)

1)在本例中,void仅用于声明返回类型吗? 2)如果void导致它不返回数据到调用函数,为什么它仍然显示消息“Welcome to the Grade Book!”?

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

#include <iostream> 
using namespace std; 

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

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

回答

5
  1. 这是在这个例子中唯一使用。您也可以指示无效(void *)。
  2. 你没有回复该消息。你正在打印它。在C++中,方法和函数可能有副作用。输出一个可能的副作用。
  3. 是的,在这种情况下。但是,这不是一个实际的对象好处的例子。为此,请参阅How do I describe Object-Oriented Programing to a beginner? Is there a good real-world analogy?许多地方。
+0

什么是对象的好处? – Foxic 2012-04-10 05:01:06

+0

@ 30trix:回答这个问题可以填写几本书。我不认为你会在评论中得到完整和有用的回复。 – 2012-04-10 05:24:09

1

void仅用于声明在这个例子中返回类型?

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

如果void导致它不返回数据到调用函数,为什么它仍然显示消息“Welcome to the Grade Book!”?

邮件不会返回到函数的调用者,该消息被定向到标准输出,当控制是在功能和执行该特定的语句。

是不是更容易创建一个简单的功能,而不是制作一个对象?

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

The Definitive C++ Book Guide and List

0
  1. 在你的情况下,函数 “displayMeassage” 没有返回字符串,它只是打印您的消息。

  2. 返回装置,假设一个例子:

    类A

    {

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

    };

    无效的主要()

    {

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

    }

    在上面的例子中,那么方法getNum返回了什么是返回是
    叫数。

  3. 无论你采取什么样的例子都不好理解退货的概念。

感谢