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

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

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

Классы, ошибка компиляции - C++

23.12.2009, 22:22. Просмотров 408. Ответов 2
Метки нет (Все метки)

Есть задачка

Разработать класс для представления ЦЕЛЫХ чисел в виде «по модулю максимальное простое плюс минимальный остаток» (20=19+1).

Класс должен включать весь необходимый интерфейс: конструкторы, перегрузку операций (в том числе + , - , =), другие необходимые методы.

Продемонстрировать:
выполнение цепочки для сложения и вычитания объектов класса и целых чисел;
цепочки присваиваний.
Разработать функцию:
для сортировки массива объектов; (ввод тестовых массивов объектов – из файла);
для сложения элементов массива, являющихся четными числами.
(ввод тестовых массивов объектов – из файла строкой вида 23+2);

Я начал ее делать, собственно пока пытаюсь ток этот класс просто создать, без перегрузок и тп.
Требуется многофайловое приложение

что получилось пока что
main.cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
#include "integer.h"
#include <fstream>
 
void main()
{
    int n;
cout<<"inter the number:";
    cin>>n;
Integer i1();
i1.setNum(n);
  
 
 
}
integer.h:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifndef integer_h
#define integer_h
class Integer {
private:
    int n, d;
    
public:
    Integer(int, int);
 
 
     void setNum(int); // присваивает
    
};
 
#endif
integer.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
#include "integer.h"
void Integer::setNum(int a)
{   
    
int b = (a < 0)? -a: a;
bool flag = true;
while (flag)
{
  flag = false;
  for (int i = 2; i < b/2; i++) flag = flag || (b%i == 0);
  b--;
}
b++;
 
n = (a < 0)? -b: b;
d = (a < 0)? a + b: a - b;
}
 
 
Integer::Integer(int pn = 0, int pd = 0) 
{n = pn; d = pd;}

Выдает ошибку на строку
C++
1
i1.setNum(n);
1>d:\си\z\z\z\main.cpp(12) : error C2228: left of '.setNum' must have class/struct/union

В чем дело?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2009, 22:22     Классы, ошибка компиляции
Посмотрите здесь:

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

Базовый и производный классы, ошибка компиляции - C++
Устанавливаю count, пишу include и все равно показывает ошибку class A { protected: int a; public: A(int ax) { ...

Ошибка компиляции - C++
Есть проект, в котором абстрактный класс Colection, и два наследуемых Vector и Steck. При компиляции выдает ошибки: Ошибка 1 &quot;error...

Ошибка компиляции - C++
Исходник: // ConsoleApplication4.cpp: определяет точку входа для консольного приложения. // #include &lt;windows.h&gt; #include...

Ошибка компиляции - C++
#include &lt;iostream&gt; #include &lt;locale.h&gt; #include &lt;stdio.h&gt; #include &lt;cstdlib&gt; int main() { ...

Ошибка компиляции - C++
Здравствуйте учу С++ по книге Дейтела, вот возникла ошибка компиляции программы: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include...

Ошибка компиляции - C++
Хм,начал компилить первые наброски курсача получил непонятную для меня ошибку( прошу помощи BetaInterface.obj : error LNK2019:...

Ошибка в компиляции - C++
#include &lt;iostream&gt; using namespace std; int main() { int n; cin&gt;&gt;n; int photo; int w, h;

Ошибка компиляции - C++
У друга проект не запускается (он работает на 10 студии), у меня в 12 такой же набор привел к успеху. Ошибки не пойму. Вот код(извиняюсь...

Ошибка компиляции - C++
Пытаюсь &quot;испробовать&quot; код приведенный в качестве примера на одном сайте обучения С++. Выдается ошибка в помеченной строке: invalid...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
24.12.2009, 21:35     Классы, ошибка компиляции #2
Цитата Сообщение от yuik Посмотреть сообщение
C++
1
2
Integer i1();
i1.setNum(n);
Кто так создает объекты? Вообще-то они создаются так
C++
1
2
Integer* integer = new Integer(5, 5);
integer->SetNum(20);
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,911
24.12.2009, 23:07     Классы, ошибка компиляции #3
Цитата Сообщение от M128K145 Посмотреть сообщение
Кто так создает объекты? Вообще-то они создаются так
Динамические...
Цитата Сообщение от yuik Посмотреть сообщение
В чем дело?
У тебя конструктор с параметрами...
C++
1
Integer(int, int);
Если под записью
C++
1
Integer i1();
подразумевался конструктор по-умолчнию, то его можно использовать только, если у тебя нет конструкторов определёных явным образом + это выглядело бы так
C++
1
Integer i1;
А то, что у тебя, это объявление прототипа функции i1, которая возвращает объект типа Integer.
Ответ Создать тему
Опции темы

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