0 / 0 / 0
Регистрация: 08.04.2019
Сообщений: 24
1

Обявление экземпляра класса с конструктором по умолчанию

23.10.2019, 16:54. Показов 302. Ответов 2

Студворк — интернет-сервис помощи студентам
Знакомлюсь с ООП, сейчас с конструкторами, создал на 34 объект класса, на 35 решил вывести на экран значение первого поля, но пишет что Third должен иметь тип класса, как исправить и почему ругается?

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
#include <iostream>
 
using namespace std;
 
class Сombinations 
{
public: 
    unsigned int n;
    unsigned int m;
    Сombinations(unsigned int N, unsigned int M)
    {
        if (N >= M || N == 0 || M == 0) {
            cout << "Некорректнaя инициализация данных\n";
        }
        else {
            n = N;
            m = M;
        }
    }
    Сombinations(unsigned int N) : Сombinations( N, 100){ }
    Сombinations() : Сombinations(10, 100){ }
    void Result()
    {
        cout << n << endl;
    }
 
};
int main() {
    setlocale(LC_ALL, "rus");
    Сombinations First(3,15);
    First.Result();
    Сombinations Double(9);
    Double.Result();
    Сombinations Third();
    Third.Result();
    system("pause");
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.10.2019, 16:54
Ответы с готовыми решениями:

Пример класса с конструктором и деструктором, создание экземпляра класса через конструктор с параметрами
Привести пример класса с конструктором и деструктором, созданием экземпляра класса с помощью...

Создание экземпляра производного класса конструктором базового
Всем привет создал базовый класс, который в конструкторе принимает некий параметр class...

Обявление шаблонного класса
Как-то с пониманием С++ вроде уже все норм, осталась только одна тема немного темная - шаблоны,...

При создании экземпляра класса, создается 2 экземпляра вместо 1
Подсчет экземпляров ведется с помощью статического члена num_dogs, который во всех трех...

2
6578 / 4563 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
23.10.2019, 17:33 2
Цитата Сообщение от Рома00 Посмотреть сообщение
Знакомлюсь с ООП, сейчас с конструкторами, создал на 34 объект класса, на 35 решил вывести на экран значение первого поля, но пишет что Third должен иметь тип класса, как исправить и почему ругается?
Убери там (), иначе он думает, что это декларация функции
Сombinations Third; //();

Либо сделай

Сombinations Third{};
1
zss
23.10.2019, 17:52     Обявление экземпляра класса с конструктором по умолчанию
  #3

Не по теме:


Предлагаю вместо 3 конструкторов забацать один:

C++
1
2
3
4
5
6
7
8
9
Сombinations(unsigned int N=10, unsigned int M=100):n(N),m(M)
    {
        if(n==0)
            n=2;
        if(m==0)
            m=1;
        if (n >= m)
           m=n-1;
    }
Естественно, никакого cout в конструкторах быть не должно.
Они должны молча обрабатывать любые сочетания параметров.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.10.2019, 17:52

Создание нового экземпляра дочернего класса из экземпляра базового
Всем привет! Извиняюсь, если вопрос глупый, но что-то не смог найти конкретный ответ на него... ...

Сложение экземпляра базового класса и экземпляра наследника
Добрый вечер! Моя задача - сложить экземпляр базового класса и наследника. Нужно сделать так, чтобы...

Ошибки с конструктором по умолчанию
Пишу консольную игру, что-то вроде острова сокровищ, но не могу исправить пару ошибок с...

Как вызвать другой конструктор для уже созданного объекта конструктором по умолчанию?
Есть класс в котором несколько конструкторов, Мне в некоторых местах нужно создавать объекты класса...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru