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

Как создать объект класса с двумя параметрами? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
04.10.2010, 00:44     Как создать объект класса с двумя параметрами? #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
using namespace std;
 
class rational{
    public:
        rational(int numerator = 0, int denominator = 1);
        operator double() const;
    private:
};
 
int main()
{
 
    rational r(1,2); // не подходит
    
 
    return 0;
}
как создать объект класса с 2-мя параметрами?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2010, 00:44     Как создать объект класса с двумя параметрами?
Посмотрите здесь:

C++ Как создать объект с конструктором в интерфейсе другого класса?
Ошибка: невозможно создать объект абстрактного класса C++
Как создать объект класса? ПРоблемма из-за раздельной компиляции C++
Создать класс. Символьное поле должно быть задано как объект класса string C++
Как скопировать объект класса C++
C++ Как создать объект класса в динамической памяти?
C++ Можно ли создать объект экспортируемого из DLL класса без лишних манипуляций?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7954 / 4716 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
04.10.2010, 00:46     Как создать объект класса с двумя параметрами? #2
PointsEqual, Эм. Именно так.
Или
C++
1
Rational* r=new Rational(1,2);
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
using namespace std;
 
class rational{
    public:
    rational(int numerator = 0, int denominator = 1) {}
        operator double() const;
    private:
};
 
int main()
{
 
    rational r(1,2); // конструктор стоит не только объявлять, но и определять. Хотя бы пустым.
    
 
    return 0;
}
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
04.10.2010, 00:48  [ТС]     Как создать объект класса с двумя параметрами? #3
в обоих случаях пишет

obj\Release\main.o:main.cpp.text+0x7d)||undefined reference to `rational::rational(int, int)'|
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
04.10.2010, 00:49     Как создать объект класса с двумя параметрами? #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using namespace std;
 
class rational{
    public:
        rational(int numerator = 0, int denominator = 1){}
        double operator double() const{ return 100500.;}
    private:
};
 
int main()
{
 
    rational r(1,2); // не подходит
    
 
    return 0;
}
вы не поверите
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7954 / 4716 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
04.10.2010, 00:49     Как создать объект класса с двумя параметрами? #5
PointsEqual, См. выше. Констр определять то надо все таки. Иначе откуда линкеру его брать?
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
04.10.2010, 00:50  [ТС]     Как создать объект класса с двумя параметрами? #6
про {} совсем забыл. помогло
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
04.10.2010, 00:52     Как создать объект класса с двумя параметрами? #7
ваш класс все равно ничего не делает - одно описание
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
04.10.2010, 00:55  [ТС]     Как создать объект класса с двумя параметрами? #8
Цитата Сообщение от alex_x_x Посмотреть сообщение
double operator double() const{ return 100500.;}
так не работает
а так

C++
1
operator double() const{ return 100500.;}
работает

Добавлено через 2 минуты
Цитата Сообщение от alex_x_x Посмотреть сообщение
ваш класс все равно ничего не делает - одно описание
вообщето делает

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
using namespace std;
 
class rational{
    public:
        rational(int numerator = 0, int denominator = 1){};
        operator double() const{ return 100500.;}
    private:
};
 
int main()
{
 
    rational r(1,2);
    cout<<r;
 
    return 0;
}
а операцию << я не переопределял
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
04.10.2010, 00:56  [ТС]     Как создать объект класса с двумя параметрами? #9
Цитата Сообщение от Lavroff Посмотреть сообщение
Какой тип эта функция тогда у вас возвращает? оО
double
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2295 / 1665 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
04.10.2010, 00:57     Как создать объект класса с двумя параметрами? #10
Lavroff, это оператор преобразования, тип возвращаемого значения указывать не нужно.
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7954 / 4716 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
04.10.2010, 00:57     Как создать объект класса с двумя параметрами? #11
PointsEqual, Вижу. Преобразование типа. Понято.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2010, 00:58     Как создать объект класса с двумя параметрами?
Еще ссылки по теме:

C++ Не получается создать объект унаследованный от абстрактного класса
Как создать объект класса в потоке? C++
Как реализовать конструктор с параметрами для инициализации полей класса? C++
Создать новый объект-наследник абстрактного класса C++
Преобразовать вызов метода класса с параметром в функцию с двумя параметрами C++

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

Или воспользуйтесь поиском по форуму:
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2295 / 1665 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
04.10.2010, 00:58     Как создать объект класса с двумя параметрами? #12
Цитата Сообщение от PointsEqual Посмотреть сообщение
вообщето делает
Это можно с огромной натяжкой назвать "делом"
Yandex
Объявления
04.10.2010, 00:58     Как создать объект класса с двумя параметрами?
Ответ Создать тему
Опции темы

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