Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Двойное объявление класса - C++

06.08.2013, 15:38. Просмотров 427. Ответов 3
Метки нет (Все метки)

Для чего два раза писать class Animal?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Animal;
 
void setValue (Animal&, int);
 
class Animal
{
public:
    Animal();
    ~Animal();
    friend void setValue (Animal&, int);
    int GetWeight () const {return itsWeight;}
    int GetAge ()    const {return itsAge;}
 
private:
    int itsWeight;
    int itsAge; 
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.08.2013, 15:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Двойное объявление класса (C++):

Объявление объекта класса fstream в качестве статической компоненты другого класса - C++
Доброго времени суток. Есть задание, в котором говорится "...Перепишите программы из упражнений 4 и 6 таким образом, чтобы использовать...

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

Объявление объекта одного класса в описании другого класса - C++
Здравствуйте. Почему при объявлении Student s в классе Teacher не возникает ошибки? Ведь такой объект уже существует. И почему при...

Объявление дружественного класса внутри класса - C++
class A{ friend class B{ B(A &a); } } Подскажите пожалуйста, такое возможно или нет, я хотел чтобы...

Объявление класса Point - C++
Объявил класс Point в заголовочном класса для хранения значений координат x,y а далее класс Rectanagle и вот в классе Rectanagle каждая...

Предварительное объявление класса - C++
Имеется код такого вида: class IBase { public: virtual foo() = NULL; .. .. .. };

3
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
06.08.2013, 15:40 #2
перетащи третью строку в самый низ - и можешь обойтись без первой. иначе откуда компилятор узнает, что есть такой сласс?
1
Erjay
0 / 0 / 0
Регистрация: 03.08.2013
Сообщений: 91
06.08.2013, 15:43  [ТС] #3
Первая строка нужна для того, чтобы компилятору было понятно, что представляет собой первый аргумент прототипа функции?
0
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
06.08.2013, 15:50 #4
Цитата Сообщение от Erjay Посмотреть сообщение
Первая строка нужна для того, чтобы компилятору было понятно, что представляет собой первый аргумент прототипа функции?
именно так. если эту ф-ю описать после описания класса, то первая строка не нужна.
1
06.08.2013, 15:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.08.2013, 15:50
Привет! Вот еще темы с ответами:

Объявление структуры и класса - C++
Ругается на строку obj_cls.prv=3; и на объявление класса. Что у меня не правильно? #include <iostream> using namespace std; ...

Объявление класса с шаблоном - C++
Пишу в Qt. Создал класс с шаблоном matrix.h #ifndef MATRIX_H #define MATRIX_H template <class T> class Matrix {

Объявление шаблонного класса - C++
Как объявить шаблонный класс?

Объявление объектов класса - C++
Как инициализировать объекты класса вне функции main, но и не в глобальной области? Объявленные объекты занимают много пространства в...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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