C++/Class/Class Access

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

Class with setter and displayer

<source lang="cpp">

  1. include <iostream>
  2. include <string.h>

using namespace std; class movie { public:

 char name[64];
 char first_star[64];
 char second_star[64]; 
 void show_movie(void)
   {
     cout << "Movie name: " << name << endl;
     cout << "Starring: " << first_star << " and " << second_star << endl << endl;
   }
 
 void initialize(char *movie_name, char *first, char *second)
   {
     strcpy(name, movie_name);
     strcpy(first_star, first);
     strcpy(second_star, second);
   }

}; int main(void) {

  movie fugitive, sleepless;
  fugitive.initialize("A", "B", "C");
  sleepless.initialize("D", "E", "F");
  cout << fugitive.name << " and " << sleepless.name << endl;
  cout << fugitive.first_star << endl;

}


 </source>


You may change access specifications as often as you like within a class declaration

<source lang="cpp">

  1. include <iostream>
  2. include <cstring>

using namespace std; class Person {

 char name[80];                 // private by default

public:

 void setName(char *n);         // these are public
 void getName(char *n);

private:

 double wage;                   // now, private again

public:

 void setWage(double w);        // back to public
 double getWage();

}; void Person::setName(char *n) {

 strcpy(name, n);

} void Person::getName(char *n) {

 strcpy(n, name);

} void Person::setWage(double w) {

 wage = w;

} double Person::getWage() {

 return wage;

} int main() {

 Person ted;
 char name[80];
 ted.setName("Ted Jones");
 ted.setWage(75000);
 ted.getName(name);
 cout << name << " makes $";
 cout << ted.getWage() << " per year.";
 return 0;

}


 </source>