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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.82
Hyperion
Сообщений: n/a
#1

Если описание не является определением, напишите для него определение. Если описание является определением, напишите для него описание - C++

08.05.2006, 02:54. Просмотров 2139. Ответов 3
Метки нет (Все метки)

Начал изучать программирование на С++, делаю упражнения из книги Мюррэй Хилл, Нью Джерси Бьярн Страустрап "Язык C++"
Программу "Hello, world" осилил А вот со следующим у меня затруднения.
Для каждого описания в #2.1 сделайте следующее: Если описание не является определением, напишите для него определение. Если описание является определением, напишите для него описание, которое при этом не является определением.
Описания следующие:
C++
1
2
3
4
5
6
7
8
9
10
11
char ch;
int count = 1;
char* name = "Bjarne";
struct complex { float re, im; };
complex cvar;
extern complex sqrt(complex);
extern int error_number;
typedef complex point;
float real(complex* p) { return p->re; };
const double pi = 3.1415926535897932385;
struct user;
У меня получились такие ответы:
char ch
Определение есть. Написать описание без определения нельзя.
int count = 1;
Определение есть. Описание без определения int count;
char* name = "Bjarne";
Определение есть. Описание без определения char* name;
struct complex { float re, im; };
Определение есть. Описание без определения struct complex;
complex cvar;
Определение есть. Написать описание без определения нельзя.
typedef complex point;
Определение есть. Описание без определения typedef complex;
float real(complex* p) { return p->re; };
Определение есть. Описание без определения float real;
const double pi = 3.1415926535897932385;
Определение есть. Описание без определения const double pi;
struct user; определения нет
extern complex sqrt(complex); определения нет
extern int error_number; определения нет
Сам себя проверить и проконсультировать я не могу. Может кто-нибудь проверить описания без определения и подсказать, как написать описания с определениями?
Дополнительно прикладываю текст #2.1, где речь идет про описания и определения.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2006, 02:54     Если описание не является определением, напишите для него определение. Если описание является определением, напишите для него описание
Посмотрите здесь:

Описание класса: определение одномерных массивов C++
C++ While4°. Дано целое число N (> 0). Если оно является степенью числа 3, то вывести true, если не является — вывести false.
Составить описание класса для объектов-векторов C++
Дано целое число N(>0). Если оно является степенью числа 3, то вывести TRUE, если не является-вывести FALSE. C++
исправьте ошибку и напишите описание C++
Дополнить описание для поиска наибольшего радиуса C++
Дано целое число. Если оно является нечетным положительным, то прибавить к нему 1, если отрицательным, то вычесть 2, если нулевым, то заменить на 10 C++
C++ Прочитать следующее описание и определение
C++ Если число является простым, то функция возвращает true, если не является false
C++ Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае вычесть из него
C++ Дано целое число.Если оно является положительным,то прибавить к нему 1;если отрицательное,то вычесть из него 2
C++ Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае вычесть из него 2

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
petrovich1
0 / 0 / 0
Регистрация: 22.09.2007
Сообщений: 314
10.05.2006, 19:16     Если описание не является определением, напишите для него определение. Если описание является определением, напишите для него описание #2
Описание с определениями:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
char ch = 'a'
int count = 1;
char* name = "Bjarne";
struct complex { float re, im; };
complex cvar; 
cvar.re = 1.0;
cvar.im = 1.0;
extern complex sqrt(complex);
extern int error_number;
typedef complex point;
float real(complex* p) { return p->re; };
const double pi = 3.1415926535897932385;
struct user{ int a, b; };
Описание без определений:
C++
1
2
3
4
5
6
7
8
9
10
11
char ch;
int count;
char* name;
struct complex;
complex cvar; 
extern complex sqrt(complex);
extern int error_number;
typedef complex;
float real(complex* p);
const double pi;
struct user;
По поводу extern не уверен, остальное все правильно.
dmr
0 / 0 / 0
Регистрация: 17.05.2006
Сообщений: 3
17.05.2006, 14:09     Если описание не является определением, напишите для него определение. Если описание является определением, напишите для него описание #3

char ch

Определение есть. Написать описание без определения нельзя.



int count = 1;

Определение есть. Описание без определения int count;
Постойте, а возможно ли объявить переменную count без её определения?

Большинство объявлений являются ещё и определениями, т.е. они определяют некую сущность, которая соответствует имени. Для переменной ch этой сущностью является подходящее кол-во памяти.
При объявлении переменной count память то тоже выделяется, а значит, что int count является как объявлением, так и определением. Т.е. получается, что нельзя написать объявление, которое не является определением. Поправьте меня, если я ошибаюсь. Сам учусь
kpoxa
5 / 5 / 0
Регистрация: 08.12.2009
Сообщений: 213
19.05.2006, 21:20     Если описание не является определением, напишите для него определение. Если описание является определением, напишите для него описание #4
Описание, определение - это понятия русского языка.
На скольнко я понимаю русский (применительно к С++) Описание может быть без определения, к примеру
typedef struct Point {
int x, y;
} *Point_Ptr ;
является описанием, так как здесь описывается определенный тип, но при этом никакого места в памяти не резервируется поэтому обратиться к Point_Ptr на прямую нельзя.
С другой стороны, к примеру,
Point_Ptr startPoint, endPoint ;
является определением, так как здесь резервируется место в памяти для двух переменных типа указатель на структуру точки.
Это мне так кажется ...
Yandex
Объявления
19.05.2006, 21:20     Если описание не является определением, напишите для него определение. Если описание является определением, напишите для него описание
Ответ Создать тему
Опции темы

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