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

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

Войти
Регистрация
Восстановить пароль
 
QWERY_2012
5 / 5 / 2
Регистрация: 09.09.2012
Сообщений: 227
#1

Правильно ли написан default конструктор, инициализирующий объект нулем (0/1) - C++

07.10.2012, 09:10. Просмотров 471. Ответов 7
Метки нет (Все метки)

Правильно ли написан default конструктор кот инициализует объект как 0 (0/1):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Rational
{
public:
  Rational( );
}
 
 
   Rational::Rational( ) // Default constructor initializes to zero
        {
         top_num = 0;
         bottom_num = 1;
         num = top_num/bottom_num;
         
         return num = 0/1;
        }
Добавлено через 8 минут
а так же конструктор с 2 аргументами, кот может быть использован для установления member переменных объекта с любыми легальными значениями:

C++
1
2
3
4
5
6
7
8
Rational::Rational(int numer, int denom)
        {
          double rational_number;
          
          rational_number = numer/denom;
          
          return (rational_number);                     
        }
конструктор, кот имеет только 1 параметр типа int, вызывает единственный параметр whole_number и определяет конструктор так что объект инициализуется как рациональное число - whole_number/1.
C++
1
2
3
4
5
Rational::Rational(int whole_number)
        {
         int whole_number;
         return (whole_number/1);                      
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2012, 09:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Правильно ли написан default конструктор, инициализирующий объект нулем (0/1) (C++):

В C# создать объект, класс которого написан в C++ - C++
Надеюсь в правильную ветку пишу. Как можно получить из C# создать объект который написан в C++? К примеру есть класс #ifndef STOCK_H_ ...

Не могу правильно сделать конструктор и конструктор копирования и принадлежность точки с заданными координатами треугольнику - C++
#include "stdafx.h" #include <iostream> #include <conio.h> #include <windows.h> #include <math.h> #include <algorithm> using...

Правильно ли написан деструктор? - C++
Вопрос, правильно ли я написал деструктор. Должно удалить переменную из памяти CAR И ссылку НА CDR, но сам по себе обьект CDR не трогать. ...

правильно ли написан код в с++? - C++
#include <iostream> #include <map> #include <fstream> using namespace std; int main() { map <char,int> chars; ...

Правильно ли написан код - C++
Извините, подправьте плиз, всем заранее огромное спасибо #include<iostream.h> #include<conio.h> #include<string.h> ...

Правильно ли написан класс DigitalTimeException - C++
Помогите пожалуйста, с созданием класса. Необходимон аписать класс - DigitalTimeException со след: - конструктор с 2 аргументами:...

7
fasked
Эксперт С++
4942 / 2522 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
07.10.2012, 09:30 #2
Цитата Сообщение от QWERY_2012 Посмотреть сообщение
return num = 0/1;
Что это за фигня?
0
BRcr
4008 / 2297 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
07.10.2012, 10:41 #3
C++
1
rational_number = numer/(double)denom;
Цитата Сообщение от QWERY_2012 Посмотреть сообщение
Rational::Rational(int whole_number)
{
int whole_number;
return (whole_number/1);
}
Полнейшая нелепость, как, впрочем, и остальное. Переменные надо сперва объявлять, на единицу ничего делить нет смысла, если функция что-то возвращает, то и объявлена\описана должна быть соответствующе.
Книжку хоть одну читал? Ну, по С++ имеется ввиду...
0
QWERY_2012
5 / 5 / 2
Регистрация: 09.09.2012
Сообщений: 227
08.10.2012, 00:55  [ТС] #4
Читал, но только по английски - может чего и не понял .
Задача звучит так:
Please do Chapter 11 Programming Project 5. This single project will exercise all the items we covered in the lesson. The project is to create and test a class named Rational that can be used to store rational numbers.
A rational number is nothing more than a number than can be represented by a fraction, i.e., the ratio of two whole numbers. A whole number like 100 is represented as: 100/1

A fractional number like 0.5 is represented by: 1/2

Your class will need to store two internal, integer values for each Rational number, the numerator (top) and denominator (bottom) of the fraction. It will have three constructor functions, with zero, one and two arguments, used as follows:

Rational test1, test2(10), test3(1, 2);

The declaration for test1 calls the default (no argument) constructor, which should set the value to 0. (Like any other whole number, zero will have a 1 in the denominator: we cannot divide by zero.) The declaration for test2 calls a constructor with one argument. The value for test2 will be 10, stored as 10 on the top and 1 on the bottom. The declaration for test3 calls the constructor with two arguments. test3 is equal to 0.5, with 1 on the top and 2 on the bottom.
0
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
08.10.2012, 01:06 #5
Вы не поняли самого главного. Вам надо хранить числитель и знаменатель отдельно. Как два отдельных поля.
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.10.2012, 04:15 #6
QWERY_2012, конструктор не должен ничего возвращать. Его задача - инициализация полей класса.
Что-то наподобие:
Код
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
class Rational //класс рациональных чисел
{
public:
  Rational( );
  Rational(int t);
  Rational(int t, unsigned int b );
 
private:
    int top_num;
    unsigned int bottom_num;
};
 
 
   Rational::Rational( ) // констуктор ноля
   {
        top_num = 0;
        bottom_num = 1;
   }
   
   Rational::Rational(int t) // констуктор целого числа
   {
        top_num = t;
        bottom_num = 1;
   }
   
   Rational::Rational(int t, unsigned int b ) // конструктор дробного числа
   {
        top_num = t;
        bottom_num = b;
   }
1
QWERY_2012
5 / 5 / 2
Регистрация: 09.09.2012
Сообщений: 227
08.10.2012, 06:11  [ТС] #7
Спасибо огромное!!!

Подскажите, пожалуйста, если можно
хорошую книжку по ООП- где доступно описано понятие
класса и объекта, и как их создавать (на русском желательно ).
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.10.2012, 07:13 #8
Книг масса. Я эту осваивал: Прата "Язык программирования С++. Лекции и упражнения. 2011." Советуют ещё вот эти: Лафоре "ООП в С++.", Харви М. Дейтел, Пол Дж. Дейтел "Как программировать на C++ (2008)."
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2012, 07:13
Привет! Вот еще темы с ответами:

Правильно ли написан код .cpp? - C++
Вот сам код #define _CRT_SECURE_NO_WARNINGS #include <Windows.h> #include <HCNetSDK.h> #include <memory> #include <cstdio> ...

Найти сумму ряда (правильно ли написан код?) - C++
#include <iostream> #include <math.h> using namespace std; int main() { int i,s,res=(i)*(i); for (int i=1; i<=39; i+=2) { ...

Как правильно должен быть написан метод возвращающий ссылку на вектор - C++
Доброе время форумчане! Ну собственно сама тема говорит Есть класс class SoftwareCore { private: public:

Односвязный список (псевдокод) - поменять два элемента местами (посмотреть, правильно ли написан код) - C++
Дан односвязный список 0...9 Дан указатель на первый элемент - p Поменять местами 5 и 6 node *a =...


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

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
08.10.2012, 07:13
Ответ Создать тему
Опции темы

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