С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
PointsEqual
ниначмуроФ
837 / 521 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
#1

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

04.10.2010, 00:44. Просмотров 1233. Ответов 11
Метки нет (Все метки)

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-мя параметрами?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2010, 00:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как создать объект класса с двумя параметрами? (C++):

Преобразовать вызов метода класса с параметром в функцию с двумя параметрами - C++
Можно ли при помощи адаптеров преобразовать выражение типа x-&gt;Func(y) в выражение Func(x,y)? Нужно для использования в list.sort()....

Можно ли в поле private сконструировать объект с параметрами другого класса? - C++
Например у меня есть классы Basic и Second. Во 2-м классе есть конструктор с параметрами. Можно ли написать что-то типу такого? class...

Как создать объект класса в потоке? - C++
Как создать объект класса в потоке? Это вообще возможно?

Как создать объект класса в динамической памяти? - C++
привет. я так понял, можно создать объект в динамической области памяти. либо просто создать объект обычным способом, но чтобы его...

Как создать объект с конструктором в интерфейсе другого класса? - C++
struct WorkerInfo { WorkerInfo(int iPay, int iDebt) : pay (iPay), iDebt(debt) {} ~WorkerInfo() {} int pay; // зарплата ...

Как создать объект класса? ПРоблемма из-за раздельной компиляции - C++
Есть 4 файла engine.h - базовый класс engine.cpp - реализация методов базового класса car.h - класс поизводный от engine car.cpp -...

11
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 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;
}
1
PointsEqual
ниначмуроФ
837 / 521 / 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)'|
0
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
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;
}
вы не поверите
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
04.10.2010, 00:49 #5
PointsEqual, См. выше. Констр определять то надо все таки. Иначе откуда линкеру его брать?
0
PointsEqual
ниначмуроФ
837 / 521 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
04.10.2010, 00:50  [ТС] #6
про {} совсем забыл. помогло
0
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
04.10.2010, 00:52 #7
ваш класс все равно ничего не делает - одно описание
0
PointsEqual
ниначмуроФ
837 / 521 / 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;
}
а операцию << я не переопределял
0
PointsEqual
ниначмуроФ
837 / 521 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
04.10.2010, 00:56  [ТС] #9
Цитата Сообщение от Lavroff Посмотреть сообщение
Какой тип эта функция тогда у вас возвращает? оО
double
0
CyBOSSeR
Эксперт С++
2305 / 1675 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
04.10.2010, 00:57 #10
Lavroff, это оператор преобразования, тип возвращаемого значения указывать не нужно.
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
04.10.2010, 00:57 #11
PointsEqual, Вижу. Преобразование типа. Понято.
0
CyBOSSeR
Эксперт С++
2305 / 1675 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
04.10.2010, 00:58 #12
Цитата Сообщение от PointsEqual Посмотреть сообщение
вообщето делает
Это можно с огромной натяжкой назвать "делом"
0
04.10.2010, 00:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2010, 00:58
Привет! Вот еще темы с ответами:

Создать объект внутри класса, который может вызывать функцию этого класса - C++
Ребята помогите уже несколько дней мучаюсь. Хочу сделать программу в консоле демонстрации работы лифта в здании 2 этажа. Сделал класс...

Создать класс. Символьное поле должно быть задано как объект класса string - C++
решите задачку!) 6. Создать класс. Символьное поле должно быть задано как объект класса string. Написать конструктор по умолчанию,...

как узнать,является данный объект класса А1 наследником класса А2 - C++
Всем привет)есть классы S, A1, A2, B1, B2. Иерархия наследования следующая S - Является родителем для всех классов и он имеет...

Создание статической функции класса, которая принимает экземпляр этого же класса как объект - C++
Привет. Есть такой код class Model { public: Model(); Model(int verticesSize, int facesSize); ~Model(); static void...


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

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

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