C++/Class/Class Access — различия между версиями
Admin (обсуждение | вклад) м (1 версия: Импорт контента...) |
Admin (обсуждение | вклад) м (1 версия: Импорт контента...) |
(нет различий)
|
Текущая версия на 10:25, 25 мая 2010
Class with setter and displayer
#include <iostream>
#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;
}
You may change access specifications as often as you like within a class declaration
#include <iostream>
#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;
}