C++/Function/Function Prototype

Материал из C\C++ эксперт
Перейти к: навигация, поиск

Function prototype in C++

 

#include <iostream>
#include <cstring>
using namespace std;
void reverse(char *str, int count = 0);
int main()
{
  char *s1 = "This is a test.";
  char *s2 = "I like C++.";
  reverse(s1); // reverse entire string
  reverse(s2, 7);  // reverse 1st 7 chars
  cout << s1 << "\n";
  cout << s2 << "\n";
  return 0;
}
void reverse(char *str, int count)
{
  int i, j;
  char temp;
  
  if(!count) count = strlen(str)-1;
  for(i = 0, j=count; i <j; i++, j--) {
    temp = str[ i ];
    str[ i ] = str[j];
    str[j] = temp;
  }
}


function prototype with throw signature

  
#include <fstream>
#include <iostream>
#include <vector>
#include <string>
#include <stdexcept>
using namespace std;
void readIntegerFile(const string& fileName, vector<int>& dest) throw (invalid_argument, runtime_error);
void readIntegerFile(const string& fileName, vector<int>& dest)
  throw (invalid_argument, runtime_error)
{
  ifstream istr;
  int temp;
  istr.open(fileName.c_str());
  if (istr.fail()) {
    throw invalid_argument("");
  }
  while (istr >> temp) {
    dest.push_back(temp);
  }
  if (istr.eof()) {
    istr.close();
  } else {
    istr.close();
    throw runtime_error("");
  }
}
int main(int argc, char** argv)
{
  vector<int> myInts;
  const string fileName = "IntegerFile.txt";
  try {
    readIntegerFile(fileName, myInts);
  } catch (const invalid_argument& e) {
    cerr << "Unable to open file " << fileName << endl;
    exit (1);
  } catch (const runtime_error& e) {
    cerr << "Error reading file " << fileName << endl;
    exit (1);
  }
  for (size_t i = 0; i < myInts.size(); i++) {
    cout << myInts[i] << " ";
  }
  return (0);
}


How to prototype the printMessage function

 

#include <iostream>
using namespace std;
void printMessage(void);  // this is the prototype!
int main ()
{
   printMessage(); 
   return 0;
}
void printMessage (void)
{
   cout << "Hello world!";
}