Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
106 / 106 / 58
Регистрация: 04.03.2013
Сообщений: 479
1

зависает компиляций

02.11.2013, 22:31. Просмотров 398. Ответов 6
Метки нет (Все метки)

Только начал изучать классы с++, попробовал написать простейшую программу с классами - площадь квадрата.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
         using namespace std;
class Square{
      public: 
              Square() : x(){}
              Square(double x): x(){}
              Square(int x): x(){}
              virtual ~Square() {}
      double area(const Square x) const {return x*x;}
      private:
              double x;
              };
     
      int main(){
          Square a(7);
          cout<<"Area of square="<<a.area<<endl;
          system("pause");}
При компиляции просто виснет программа (Dev-C++). Ошибок не находит)
Помогите)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.11.2013, 22:31
Ответы с готовыми решениями:

Ошибка компиляций mmsystem.h (на с++)
Я пытался компилить этот код, но к сожелению он не скомпилился #include &lt;iostream&gt; #include...

Подсчитать количество компиляций
Здравствуйте, меня всегда волновал вопрос как посчитать количество компиляций, или дату последней...

Ошибка при компиляций!
Здравствуйте! Помогите пожалуйста! package Lab5; public class Main { public static void...

Выводит ошибку при компиляций
Выводит ошибку http://s017.***********/i432/1212/85/458769238d39.png

6
120 / 120 / 47
Регистрация: 29.03.2013
Сообщений: 237
02.11.2013, 22:37 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
         using namespace std;
class Square{
      public: 
              Square() : x(0) {};
              Square(double value): x(value){};
              virtual ~Square() {}
      double area()  {return x*x;}
      private:
              double x;
              };
     
      int main(){
          Square a(7);
          cout<<"Area of square="<<a.area()<<endl;
          system("pause");
          return 0;
      }
1
:)
Эксперт С++
4763 / 3257 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
02.11.2013, 22:54 3
1. виртуальный деструктор не нужен.
2. деструктор не нужен вообще.
3. достаточно иметь единственный конструктор вида:
C++
1
explicit Square(double value=0): x(value){};
4. функция вычисления площади должна быть константной:
C++
1
double area() const {return x*x;}
1
106 / 106 / 58
Регистрация: 04.03.2013
Сообщений: 479
02.11.2013, 22:59  [ТС] 4
спасибо) а как создать
1. клас, что содержит даный класс
2. Производный класс?
0
:)
Эксперт С++
4763 / 3257 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
02.11.2013, 23:08 5
Цитата Сообщение от Serg22 Посмотреть сообщение
1. клас, что содержит даный класс
C++
1
2
3
4
5
6
7
class Table
{
public:
  Table(double d): s(d) {}
private:
   Square s;
};
Цитата Сообщение от Serg22 Посмотреть сообщение
2. Производный класс?
C++
1
2
3
4
class SuperSquare : public Square
{
 // ... 
};
Если планируется использовать иерархию классов, то виртуальный деструктор всё же следует добавить в базовый класс.
1
106 / 106 / 58
Регистрация: 04.03.2013
Сообщений: 479
02.11.2013, 23:20  [ТС] 6
эмм) а вот зачем это вообще нужно? коротко) ну в чем удобность производных и встроеных классов?
0
:)
Эксперт С++
4763 / 3257 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
02.11.2013, 23:25 7
Цитата Сообщение от Serg22 Посмотреть сообщение
в чем удобность производных и встроеных классов?
Почитайте про отношения is-a, has-a.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.11.2013, 23:25

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Есть ли счетчик компиляций проекта ?
Версию хочу брать оттуда Добавлено через 28 минут я посмотрел здесь:...

Директивы компиляций, передача данных между клиентом и сервером
Вот собственно код: &amp;НаСервере function wa() var tz,tzs; tz=новый ТаблицаЗначений;...

Все сделал, проект закончил, и ошибка такая при компиляций
Помогите! Все сделал, проект закончил, и ошибка такая при компиляций: Что делать? Не...

Ошибка после нескольких компиляций unit1.pas(47,15) Error: Forward declaration not solved "TForm1.FormCreate(T
После нескольких компиляций, после того как я закомментировал полностью процедуру двойного клика по...


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

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

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