Weitere ähnliche Inhalte
Ähnlich wie Test Passing Parameters in C++. (20)
Mehr von Michel Alves (20)
Kürzlich hochgeladen (20)
Test Passing Parameters in C++.
- 1. #include <iostream>
/**
* Test class.
*/
class Class
{
/**
* Constructor.
*/
int _id;
public:
/**
* Constructor.
*/
Class(int id = 0): _id(id)
{ std::cout << "Constructor Invocation! Id: " << _id << std::endl; };
/**
* Id Method.
*/
void id(int myid){ _id = myid;}
/**
* Run method.
*/
void run(void)
{ std::cout << "Running! Id: " << _id << std::endl; };
/**
* Destructor.
*/
virtual ~Class(void)
{ std::cout << "Destructor Invocation! Id: " << _id << std::endl;}
};
// Function with passing parameter by value
void TestFunction(Class c){ c.id(1); c.run(); };
// Function with explicit parameter passing by reference.
void TestFunction(Class* c){ c->run(); };
// Function with parameter passing by automatic dereference.
void TestFunction2(Class& c) {
c.run(); };
int main(void)
{
Class c(0);
std::cout << "n@@@" << std::endl;
TestFunction(c);
std::cout << "@@@" << "nn";
std::cout << "---" << std::endl;
TestFunction(4);
std::cout << "---" << "nn";
std::cout << "+++" << std::endl;
TestFunction(&c);
std::cout << "+++" << "nn";
std::cout << "$$$" << std::endl;
TestFunction2(c);
std::cout << "$$$" << "nn";
return 0;
}