Skip to content

Instantly share code, notes, and snippets.

@LaughingSun
Last active November 29, 2015 07:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LaughingSun/7d2330ccff0777bec106 to your computer and use it in GitHub Desktop.
Save LaughingSun/7d2330ccff0777bec106 to your computer and use it in GitHub Desktop.
instance variables
// ocd.cpp, all rights reserved for the future.
#include <cstdlib>
#include <iostream>
class OCD {
protected:
size_t _number;
public:
OCD ( );
OCD ( size_t initial_value );
size_t get ( );
size_t set ( size_t value );
};
OCD::OCD ( ) : _number( 0 )
{
}
OCD::OCD ( size_t initial_value )
{
_number = initial_value;
}
size_t OCD::get ( )
{
return _number;
}
size_t OCD::set ( size_t value )
{
size_t old = _number;
_number = value;
return old;
}
int main ( int argc, char *argv[] )
{
OCD ocd0;
OCD ocd1( 1 );
OCD ocd2 = OCD( 2 );
OCD *ocd3p = new OCD( 3 );
std::cout << "ocd0.get( ) => " << ocd0.get() << std::endl;
std::cout << "ocd1.get( ) => " << ocd1.get() << std::endl;
std::cout << "ocd2.get( ) => " << ocd2.get() << std::endl;
std::cout << "ocd3p->get( ) => " << ocd3p->get() << std::endl;
std::cout << "ocd0.set( 4 ) => " << ocd0.set( 4 ) << std::endl;
std::cout << "ocd1.set( 5 ) => " << ocd1.set( 5 ) << std::endl;
std::cout << "ocd2.set( 6 ) => " << ocd2.set( 6 ) << std::endl;
std::cout << "ocd3p->set( 7 ) => " << ocd3p->set( 7 ) << std::endl;
std::cout << "ocd0.get( ) => " << ocd0.get() << std::endl;
std::cout << "ocd1.get( ) => " << ocd1.get() << std::endl;
std::cout << "ocd2.get( ) => " << ocd2.get() << std::endl;
std::cout << "ocd3p->get( ) => " << ocd3p->get() << std::endl;
return 0;
}
# used with an answer at http://stackoverflow.com/a/33980296/2492012
ocd0.get( ) => 0
ocd1.get( ) => 1
ocd2.get( ) => 2
ocd3p->get( ) => 3
ocd0.set( 4 ) => 0
ocd1.set( 5 ) => 1
ocd2.set( 6 ) => 2
ocd3p->set( 7 ) => 3
ocd0.get( ) => 4
ocd1.get( ) => 5
ocd2.get( ) => 6
ocd3p->get( ) => 7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment