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

wxDev-C++ и инкапсуляция - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Под каким углом к фарватеру Чапаев должен плыть, чтобы его «не снесло»? http://www.cyberforum.ru/cpp-beginners/thread357677.html
если можно то это задача на ленейный тип Чапаеву надо под прямым углом к фар¬ватеру преодолеть реку Урал шириной b м. Его ско-рость в стоячей воде v1 м/с; скорость течения реки — v2 м/с. Под каким углом к фарватеру он должен плыть, чтобы его «не снесло»? Сколько времени займет переправа? Как изменится решение, если посредине реки Чапаева ранили в руку, и его скорость с v1 м/с упала до v3 м/с?
C++ дан целочисленный массив заменить в нём все элементы . Дан целочисленный массив X. Заменить в нем все элементы, меньшие 5 числом 111.(маасивы вообще не понимаю как решать( http://www.cyberforum.ru/cpp-beginners/thread357676.html
C++ АТД список. Перемещение заданного элемента на первую позицию
Здравствуйте!! Подскажите пожалуйста как переместить элемент списка на первую позицию? Например: есть список o o t o t, пользователь ввел символ "t" в итоге получился список t t o o o Как видите все элементы, которые были равны "t" переместились на первые позиции в списке!!
C++ Не используя никаких операций, кроме умножения и присваивания, составить программу, вычисляющую a7 за 4 операции умножения
1.Дано число a. Не используя никаких операций, кроме умножения и присваивания, составить программу, вычисляющую a7 за 4 операции умножения; 2. Выполнить указанные вычисления и распечатать полученные результаты. signed int MAX - signed int MAX+1 unsigned int MAX - unsigned int MAX+1 signed int MIN - signed int MIN-1 unsigned int MIN - unsigned int MIN-1 3. Для типов данных char,...
C++ чистая геометрия, но заваливается( http://www.cyberforum.ru/cpp-beginners/thread357643.html
http://acm.timus.ru/problem.aspx?space=1&num=1084 Козла пустили в квадратный огород и привязали к колышку. Колышек воткнули точно в центре огорода. Козёл голоден, как волк, прожорлив, как бык, и ест всё, до чего дотянется, не перелезая через забор и не разрывая веревку. Какая площадь огорода будет объедена? Исходные данные Длина стороны огорода и длина верёвки в метрах (положительные целые...
C++ раскодировать =( Добрый вечер! Помогите раскодировать файл, копался долго в интернете и не смог найти как раскодировать этот файл. Очень нужно раскодировать(( не знаю что делать. Помогите пожалуйста. подробнее

Показать сообщение отдельно
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
28.09.2011, 20:01     wxDev-C++ и инкапсуляция
Всем привет. Учусь по книжке Дейтелов, дошел до классов. Авторы пропагандируют методику сокрытия ненужных данных, то есть делать 3 файла: *.h (сам класс), *.cpp (элемент-функции класса) и *.cpp (функция main, которая запускает класс).

Например, такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ifndef TIME_H
#define TIME_H
 
// Time class definition
class Time 
{
public:
   Time(); // constructor
   void setTime( int, int, int ); // set hour, minute and second
   void printUniversal(); // print time in universal-time format
   void printStandard(); // print time in standard-time format
private:
   int hour; // 0 - 23 (24-hour clock format)
   int minute; // 0 - 59
   int second; // 0 - 59
}; // end class Time
 
#endif
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
using std::cout;
 
#include <iomanip>
using std::setfill;
using std::setw;
 
#include "Time.h" // include definition of class Time from Time.h
 
// Time constructor initializes each data member to zero.
// Ensures all Time objects start in a consistent state.
Time::Time() 
{ 
   hour = minute = second = 0; 
} // end Time constructor
 
// set new Time value using universal time; ensure that
// the data remains consistent by setting invalid values to zero
void Time::setTime( int h, int m, int s )
{
   hour = ( h >= 0 && h < 24 ) ? h : 0; // validate hour
   minute = ( m >= 0 && m < 60 ) ? m : 0; // validate minute
   second = ( s >= 0 && s < 60 ) ? s : 0; // validate second
} // end function setTime
 
// print Time in universal-time format (HH:MM:SS)
void Time::printUniversal()
{
   cout << setfill( '0' ) << setw( 2 ) << hour << ":" 
      << setw( 2 ) << minute << ":" << setw( 2 ) << second;
} // end function printUniversal
 
// print Time in standard-time format (HH:MM:SS AM or PM)
void Time::printStandard()
{
   cout << ( ( hour == 0 || hour == 12 ) ? 12 : hour % 12 ) << ":" 
      << setfill( '0' ) << setw( 2 ) << minute << ":" << setw( 2 )
      << second << ( hour < 12 ? " AM" : " PM" );
} // end function printStandard
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "Time.h" // include definition of class Time from Time.h
 
int main()
{
   Time t; // instantiate object t of class Time
 
   // output Time object t's initial values
   cout << "The initial universal time is ";
   t.printUniversal(); // 00:00:00
   cout << "\nThe initial standard time is ";
   t.printStandard(); // 12:00:00 AM
 
   t.setTime( 13, 27, 6 ); // change time
 
   // output Time object t's new values
   cout << "\n\nUniversal time after setTime is ";
   t.printUniversal(); // 13:27:06
   cout << "\nStandard time after setTime is ";
   t.printStandard(); // 1:27:06 PM
 
   t.setTime( 99, 99, 99 ); // attempt invalid settings
 
   // output t's values after specifying invalid values
   cout << "\n\nAfter attempting invalid settings:"
      << "\nUniversal time: ";
   t.printUniversal(); // 00:00:00
   cout << "\nStandard time: ";
   t.printStandard(); // 12:00:00 AM
   cout << endl;
   return 0; 
} // end main
Попробовал на старой Dev-C++, не получилось. Поставил более новую wxDev-C++, та же история.

Выдаёт что-то вроде
[Linker Error] undefined reference to `Time::Time()'
[Linker Error] undefined reference to `Time:rintUniversal()'
[Linker Error] undefined reference to `Time:rintStandard()'
[Linker Error] undefined reference to `Time::setTime(int, int, int)'
...
ld returned 1 exit status
Как это лечится? Хочу делать как надо.

Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru