Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
asiar
0 / 0 / 0
Регистрация: 08.12.2009
Сообщений: 12
#1

метод-доступа, класс, объекты - C++

21.11.2010, 23:03. Просмотров 334. Ответов 2
Метки нет (Все метки)

из книги С++ за 21 день Джесса Либерти
Если объявить класс Cat с закрытым членом itsAge, а затем определить два объекта Cat с именами Frisky и Boots, то может ли объект Boots получить доступ к переменной-члену itsAge объекта Frisky?

Да. Закрытые данные доступны для функции-членов класса, и различные экземпляры одного класса могу обращаться к данным друг друга. Иными словами, если Frisky и Boots являются экземплярами класса Cat, то функции-члены объекта Frisky могут получить доступ как к своим данным (данным объекта Frisky), так и к данным объекта Boots.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <cstdlib>
#include <iostream>
 
using namespace std;
class Cat {
  public:
      void SetAge(int age) { itsAge=age; }
      int  GetAge() { return itsAge; }
  private:
      int itsAge;
};
 
int main()
{
    Cat Frisky, Boots;
    
    
    system("pause");
    return EXIT_SUCCESS;
}
плииз
подскажите
как это сделать ???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2010, 23:03     метод-доступа, класс, объекты
Посмотрите здесь:

Статический метод и объекты - C++
Есть класс А с полями, методами и один статический метод. Как мне через этот статический метод обратиться сразу ко всем объектам этого...

Классы и объекты (Класс Student) - C++
Разработать консольную программу на языке С++, в которой описывается и используется простой класс для объектов индивидуального варианта....

Класс содержащий объекты другого класса - C++
Наткнулся на такую ситуацию. Как одно поле класса делают объект другого класса со своим конструктором. Типа class second { ...

Програма в которой объекты одного класса вложены в другой класс - C++
приведите пример програмы c++, где объекты одного класса вложенные в другой класс. Для чего это нужно

Добавить векторы, хранящих объекты соответствующих классов, в данный класс - C++
Не понимаю, помогите разобраться, пожалуйста)) Класс Field предназначен для управления полем (двумерный массив типа char) и хранения...

Реализовать класс «Проект» и создать объекты данного класса с разными способами инициализации - C++
 -Объявить класс «Проект» с данными номер проекта, сумма, дата исполнения и определить для него конструктор по умолчанию, конструктор...

Создать класс, объекты которого моделируют комплексные числа с перегрузкой необходимых операций - C++
Необходимо за 30 минут Создать класс, объекты которого моделируют комплексные числа с перегрузкой необходимых операций. Помогите пожалуйста...

Как создать класс контейнер-динамический массив и поместить туда объекты других классов? - C++
Какой тип массива использовать тип базового класса или наследников?

Дружественный метод. Ошибка доступа к полям - C++
Доброго времени суток, реализовываю паттерн состояние. Для доступа к полям класса контекста( в моем случае Foo) я реализую дружественный...

Дружественный метод класса и ошибка доступа - C++
class B; class A { public: void f(B&amp; b); }; class B { private:


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SashaPinsk
39 / 37 / 2
Регистрация: 27.12.2009
Сообщений: 73
22.11.2010, 00:00     метод-доступа, класс, объекты #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <cstdlib>
#include <iostream>
 
class Cat {
  public:
      void SetAge(int age) { itsAge=age; }
      int  GetAge() { return itsAge; }
  private:
      int itsAge;
};
 
int main()
{
    Cat Frisky, Boots;
    Frisky.SetAge(5); //устанавливаем новое значение переменной itsAge
    std::cout << Frisky.GetAge() << std::endl; //получаем значение переменной itsAge
    system("pause");
    return EXIT_SUCCESS;
}
alexzak
84 / 57 / 1
Регистрация: 07.08.2010
Сообщений: 185
22.11.2010, 01:12     метод-доступа, класс, объекты #3
Цитата Сообщение от asiar Посмотреть сообщение
подскажите
как это сделать ???
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Cat {
  public:
      explicit
      Cat(int age) : itsAge(age) {}
      Cat(Cat const & other) : itsAge(other.itsAge) {}  // вот здесь имеем доступ с закрытым данным другого объекта того-же типа
 
      void SetAge(int age) { itsAge=age; }
      int  GetAge() { return itsAge; }
  private:
      int itsAge;
};
 
int main()
{
    Cat Frisky(4);
    Cat Boost(Frisky);
 
    cout << Boots.GetAge() << endl;  // выводит 4
}
Yandex
Объявления
22.11.2010, 01:12     метод-доступа, класс, объекты
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru