C ++免费功能

时间:2013-06-25 13:06:53

标签: c++ non-member-functions

我有以下代码

#include "stdafx.h"
#include <iostream> 
using namespace std;
#include "graderec.h"

int main( )
{
    GradeRecord studentAnn("45-2791", 14, 49);
    GradeRecord studentBob("67-5803",25, 50);

    int bobsUnits;
    int bobsGradePoints;
    int annsUnits = 4;
    int annsGradePoints = 16;

    cout << "Ann's Grade Information:" << endl;
    studentAnn.writeGradeInfo();

    cout << endl;

    cout << "Bob's Grade Information:" << endl;
    studentBob.writeGradeInfo();

    cout << endl;

    cout << "Enter Bob's units: ";
    cin >> bobsUnits;

    cout << "Enter Bob's grade points: ";
    cin >> bobsGradePoints;

    cout << endl;

    cout << "Bob's Grade Information:" << endl;
    studentBob.updateGradeInfo(bobsUnits, bobsGradePoints);
    studentBob.writeGradeInfo();

    cout << endl;

    cout << "Ann's Grade Information:" << endl;
    studentAnn.updateGradeInfo(annsUnits, annsGradePoints);
    studentAnn.writeGradeInfo();

    system("PAUSE");
    return 0;

}

void asterisks()
{ 
    cout << "************************************************************************" << endl;

} 

我需要使用一个自由函数来显示大约60个星号,其中我有cout&lt;&lt; ENDL。我按照我给出的例子,但无法让它工作。

以下代码是关于自由函数的外观的例子。

void companyBanner()
{
  cout << *************************** << endl;
  cout << **     Tech Guys LLC     ** << endl;
  cout << *************************** << endl; 
  cout << endl;
}

更新:得到它的工作,感谢大家的帮助。我重新编写了自由函数,并在main上面添加了asterisks()并且它有效。必须是免费功能中导致它不起作用的东西。

3 个答案:

答案 0 :(得分:0)

您应该调用您定义的函数,否则将永远不会执行。

在第一次调用函数之前,您还应该放置函数的声明或整个定义。

字符串文字应括在双引号"中。

答案 1 :(得分:0)

&#39;不工作&#39;我们太过模糊,无法帮助你。我现在的尝试是你没有原型化你的asterisks()函数。将void asterisks();放在主页上方。

答案 2 :(得分:0)

如果我理解了这个问题(请告诉我,如果我错了),只需通过调用您的函数替换cout << endl;asterisks()

此外,要么将功能asterisks移到主要功能之前,要么将原型void asterisks();添加到主要功能上。