Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.07.2011, 15:56   #1
sir.andrey
Форумчанин
 
Регистрация: 06.12.2009
Сообщений: 380
Радость Конструктор Деструктор

Добрый день, ребята выручайте, че то я намутил с конструкторами, не могу исправить ошибки!
Помогите пожалуйста!
Язык С++
Вложения
Тип файла: rar englcon.rar (14.2 Кб, 8 просмотров)

Последний раз редактировалось sir.andrey; 01.07.2011 в 16:04.
sir.andrey вне форума Ответить с цитированием
Старый 01.07.2011, 16:08   #2
sir.andrey
Форумчанин
 
Регистрация: 06.12.2009
Сообщений: 380
По умолчанию

Кучу ошибок исправил, осталось две.
Вложения
Тип файла: rar englcon.rar (51.3 Кб, 11 просмотров)
sir.andrey вне форума Ответить с цитированием
Старый 01.07.2011, 16:16   #3
Wicort
Форумчанин
 
Аватар для Wicort
 
Регистрация: 04.08.2009
Сообщений: 684
По умолчанию

Вы бы хоть описали, что за ошибки...
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой?
Wicort вне форума Ответить с цитированием
Старый 01.07.2011, 16:24   #4
sir.andrey
Форумчанин
 
Регистрация: 06.12.2009
Сообщений: 380
Радость

Цитата:
Сообщение от Wicort Посмотреть сообщение
Вы бы хоть описали, что за ошибки...
Вот они родимые:

Цитата:
Compiling...
Distance.cpp
c:\c\englcon\distance.cpp(19) : error C2511: 'CDistance::CDistance' : overloaded member function 'void (int,float)' not found in 'CDistance'
c:\c\englcon\distance.h(13) : see declaration of 'CDistance'
englcon.cpp
C:\C\englcon\englcon.cpp(13) : error C2661: 'CDistance::CDistance' : no overloaded function takes 2 parameters
Error executing cl.exe.

englcon.exe - 2 error(s), 0 warning(s)
sir.andrey вне форума Ответить с цитированием
Старый 02.07.2011, 00:32   #5
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию

Текст englcon:
Код:
#include <iostream.h>
#include "Distance.h"





int main()
{
	CDistance dist1, dist3;
	CDistance dist2(11, 6.25);

	dist1.getdist();
	dist3.add_dist(dist1, dist2);

	cout << "\ndist1= "; dist1.showdist();
	cout << "\ndist2= "; dist2.showdist();
	cout << "\ndist3= "; dist3.showdist();
	cout << endl;	
	system("PAUSE");
	return 0;
}
В Distance:
Код:
class CDistance  
{
public:
	int feet;
	float inches;

public:
	CDistance();
	CDistance(int,float);//не хватало конструктора
	virtual ~CDistance();
	
	void CDistance::getdist();
	void CDistance::showdist();
	void CDistance::add_dist( CDistance d2, CDistance d3 );

};
Вроде усе)..
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 02.07.2011, 05:01   #6
sir.andrey
Форумчанин
 
Регистрация: 06.12.2009
Сообщений: 380
Радость

Здорово, спасибо!

Это получается, что в классе надо размещать прототипы конструкторов?
sir.andrey вне форума Ответить с цитированием
Старый 02.07.2011, 06:23   #7
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Цитата:
Сообщение от sir.andrey Посмотреть сообщение
Здорово, спасибо!

Это получается, что в классе надо размещать прототипы конструкторов?
Ну чтобы инициализировать данные при создании объекта.
An1ka вне форума Ответить с цитированием
Старый 02.07.2011, 10:56   #8
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию

обычно в классе пишут не только прототипы, но и сами конструкторы. я бы написал так:
Код:
///////Distance.h///////
#include <iostream.h>
class CDistance  
{
public:
	int feet;
	float inches;

public:
	CDistance()
	{
		feet=0;
		inches=0.0;
	};
	CDistance(int ft,float in)
		{ 
			feet=ft; 
			inches=in;
		};
	~CDistance(){};
	
	void getdist()
	{
	cout << "\nVVedite chislo fytov: "; cin >> feet;
	cout << "Vvedite chislo duimov: "; cin >> inches;
	};
	void showdist()
	{
		cout << feet << "\'-" << inches << '\"';
	};
	void add_dist( CDistance d2, CDistance d3 )
	{
	inches=d2.inches+d3.inches;
	feet=0;
	if( inches>=12 ){
		inches-=12.0;
		feet++;
	}
	feet+=d2.feet+d3.feet;
    }
};
Distance.cpp вообще бы очистил.
Или писать базовый абстрактный класс, наследовать его с свой класс и перегружать все,что хочется. Советую повнимательней почитать про ООП и классы в частности.
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чисто виртуальный деструктор или конструктор _-Re@l-_ Общие вопросы C/C++ 1 21.03.2011 12:01
Конструктор и деструктор Ярослав Л Помощь студентам 1 18.01.2011 15:20
С++ (конструктор, деструктор, копирующий конструктор) Jane-sad Помощь студентам 2 01.10.2010 10:01
С++ Конструктор и Деструктор помогите Maxim_Burea Помощь студентам 15 19.09.2009 19:45
С++ (конструктор, деструктор) Kventin Помощь студентам 4 31.03.2009 18:11