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

Конструктор с параметром по умолчанию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программы со свободным кодом http://www.cyberforum.ru/cpp-beginners/thread455273.html
Всем привет. Подскажите начинающему.Мне советовали в универе искать программы с открытым кодом и их разбирать. Может кто подскажет какие-нибуть программки. Буду очень благодарен. Сейчас изучаю с++ и lava.
C++ Int to Str Подскажите, пожалуйста, как число преобразовать в string (не char) http://www.cyberforum.ru/cpp-beginners/thread455266.html
Поиск минимального элемента матрицы в направлении побочной диагонали C++
Дана матрица вещественных чисел. Найти минимальный элемент матрицы и наиболее удаленный от него (по значению). Поиск осуществлять в направлении параллельном побочной диагонали. Как осуществить это поиск в направлении побочной диагонали? Помогите, пожалуйста.
Найти максимальный отрицательный элемент в массиве целочисленных элементов. C++
Как переделать под эти данные. 13. Дан одномерный массив, состоящий из N целочисленных элементов. 13.1. Ввести массив с клавиатуры. 13.2. Найти максимальный отрицательный элемент. 13.3. Вычислить произведение отрицательных элементов массива. 13.4. Вывести ненулевые элементы на экран в обратном порядке. #include <iostream> using namespace std;
C++ Как в консольном приложении замутить сохренение? http://www.cyberforum.ru/cpp-beginners/thread455257.html
1)сморите такой трабл КейГен тоесть узнаёт ключи для привязки программы! Я замутил один! И даже замутил сохранение! Но для моей привязки нужно иметь 2 ключа которые выдаёт тот же кейген! Но проблемма в том что он несохраняет 2 ключ в тхт файле! код /////Сохраняем имя и пароль SaveKeyTxt("C:\\Key.txt",Name,genkey);
C++ В текстовом файле удалить заданные символы Есть файл тхт. Нужно удалить в нем определенные символы. Вопрос - как это сделать средствами потоков? подробнее

Показать сообщение отдельно
Altair5
0 / 0 / 0
Регистрация: 19.02.2012
Сообщений: 11
29.02.2012, 17:36     Конструктор с параметром по умолчанию
Здравствуйте, знаю, что здесь про конструкторы много говорили, но я не смог решить свою проблему поэтому обращаюсь (хотя мне кажется что проблема пустяковая).
Нам дали задание создать 2 конструктора в объявлении класса:
Первый в параметрах принимает значения полей класса, причем числовые поля задаются по умолчанию.
Второй не принимает значений, а просто запрашивает ввод с клавиатуры.
В демонстрационной программе необходимо динамически создать 3 файла с помошью функции new
Первый - конструктор со всеми параметрами,
Второй - конструктор без числовых параметров (кроме номера объекта)
Третий -конструктор без параметров.

Вот заголовок с объявлениями:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef Givotnie
#define Givotnie
#include "stdio.h";
class CGivotnie
{  int nomer;
   char kl[5];
   char naimen[15];
   double ves;
 
public:
 CGivotnie(int n1,char *k,char *na,double v);
 CGivotnie();
 ~CGivotnie();
void PrintClass (int n);
void InitClass(int n);
void vvod_naim ();
void vivod_naim ();
void vvod_ves ();
void vivod_ves ();
void vvod_kl ();
void vivod_kl ();
};
#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
40
41
42
43
44
45
46
47
48
49
50
51
#include "Givotnie.h";
CGivotnie::CGivotnie(int n1,char *k,char *na,double v = 45.0)
{printf("Создание нового объекта под номером %d\n",n1);
 nomer=n1;
 *naimen=*na;
 *kl=*k;
 ves=v;
}
CGivotnie::CGivotnie()
{printf("Создание нового объекта под номером ");
 scanf("%d",&nomer);
 vvod_naim();
 vvod_ves();
 vvod_kl();
}
 CGivotnie::~CGivotnie()
{printf("Вы удаляете объект со следующими параметрами\n");
 printf("Номер элемента %d\n",nomer);
 printf("Вес элемента %lf\n",ves);
 printf("Наименование элемента %s\n",naimen);
 printf("Класс элемента %s\n",kl);
}
 void CGivotnie :: InitClass (int n)
{nomer = n;
 vvod_ves();
 vvod_naim();
 vvod_kl();
}
void CGivotnie::PrintClass (int n)
{ printf("Номер = %d",nomer);
  vivod_ves();
  vivod_naim();
  vivod_kl();
}
void CGivotnie::vvod_ves ()
{printf("Введите вес \n");
scanf("%lf",&ves); getchar();
}
void CGivotnie::vvod_naim ()
{printf("Введите наименование\n");
 scanf("%6s",&naimen);
}
void CGivotnie::vvod_kl ()
{printf("Ввдите класс 5 букв (mleko, nasek itd)\n");
 scanf("%5s",&kl);}
void CGivotnie::vivod_ves()
{printf("Вес элемента = %3.2lf",ves);}
void CGivotnie :: vivod_naim()
{printf("Наименование элемента = %s",naimen);}
void CGivotnie :: vivod_kl ()
{printf("Класс элемента = %5s\n",kl);}
Вот демонстрационная программа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "Givotnie.h"
#include "stdio.h"
void main()
{ int n,i,k;
  char a;
 
CGivotnie *Anim= new CGivotnie(1,"mleko","volk",55);
CGivotnie *Anim2= new CGivotnie(1,"mleko","bear");
CGivotnie *Anim3= new CGivotnie();
 
delete Anim;
delete Anim2;
delete Anim3;
printf("Работа программы окончена");
}
При отладке компилятор ругается на 8 строку демонстрационной программы
error C2661: CGivotnie::CGivotnie: нет перегруженной функции, принимающей 3 аргументов
Может я не так понял использование параметров по умолчанию?

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