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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2011, 11:58   #1
Jugger
Пользователь
 
Регистрация: 30.01.2008
Сообщений: 99
По умолчанию Данные куда то улетучиваются из класса

В этом коде в методе enter ввожу данный в класс и сразу их вывожу
Вот в конце этого метода работает конструктор базового класса odn_com и все нормально инициализирует, а в следующей же строке все что проинициализировал становится нулями .. в чем причина
Код:
#include "stdafx.h"

using namespace std;
#include "iostream"
class comnata{
public:
	comnata(){
		pl=0;
	}
	comnata(int h){
		pl=h;
	}
	int PL(){
		return pl;
	}
	
	
private:
	int pl;
};


class odn_com:public comnata{
public:
	odn_com():comnata(0){
		kuhnea=0;
	}
	odn_com(int g,int j):comnata(g){

		kuhnea=j;
	}
	int getPL(){
		return PL()+kuhnea;
	}
	
private:
	int kuhnea;
};

class kv_s_adresom:public odn_com{
public:
	kv_s_adresom(): odn_com(){
		adress=new char[100];
	}
	kv_s_adresom(char *addr,int komn,int kuhn):odn_com(komn,kuhn){
		adress=new char[100];
		strcpy(addr,adress);
	}
	~kv_s_adresom(){
		delete [] adress;
	}
	void enter(){
		      int s,q;
		      cout << "Vvedite adress: " << endl;
			  cin >> adress; 
			  cout << "Vvedite ploshadi comnati " << endl;
			  cin >> s;
			  cout << "Vvedite ploshadi kuhni " << endl;
			  cin>> q;
		      odn_com(s,q);
              cout <<"Adress :  "<< adress<<" Ploshcadi: "<<getPL()<<endl;
	}


	ostream &operator<<(ostream &out) {
			out <<"Adress :  "<< adress<<" Ploshcadi: "<<getPL()<<endl;
		return out;
	}
	
	istream &operator>>(istream &in) {
		int s,q;
		cout << "Vvedite adress: " << endl;
			in >> adress; 
			cout << "Vvedite ploshadi comnati " << endl;
			in >> s;
			cout << "Vvedite ploshadi kuhni " << endl;
			in>> q;
		odn_com(s,q);
		
		return in;
	}

private:
	char*adress;
};

int main()
{
	kv_s_adresom a;
	a.enter();
	system("pause");
		
    
    return 0;
}
Jugger вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение к из одной функции класса к другой того же класса,не указывая к какому объекту она относиться zipwind C++ Builder 1 09.04.2011 17:18
Определение типа класса по переменной на объект этого класса при компиляции phomm Общие вопросы Delphi 24 08.04.2011 14:11
Помомгите не знаю куда поступать после 11 класса Александр_007 Помощь студентам 8 02.01.2011 13:10
Куда отследить куда утекает память? TwiX Общие вопросы Delphi 6 02.03.2010 03:10
Если в классе объявить объект другого класса,будет ли видно переменные первого класса из объекта второго? TwiX Общие вопросы Delphi 3 15.11.2009 00:54