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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2011, 11:06   #1
DarkSwan
Пользователь
 
Регистрация: 11.10.2010
Сообщений: 20
По умолчанию Конструкторы и деструктор С++

Здравствуйте. Мне нужно написать маленькую и простую программу, имеющую конструкторы: инициализирующий, по умолчанию, копирующий и деструктор.
Мною уже перелопачено много литературы и форумов, но нигде не могу найти пример программы с комментами, чтобы понять до конца принципе работы всего этого. Везде либо только как задаются конструкторы или вообще все кусками и ничего толком не понятно. Хотелось бы посмотреть на готовый код с main и т.д, чтобы понять, как вообще на деле вызываются эти конструкторы.
P.S. я практик, а не теоретик, мне проще разобраться в проге с комментами, чем пытаться что-то понять по теории (теории и так уже много прочитано, но что-то почти безрезультатно).
DarkSwan вне форума Ответить с цитированием
Старый 07.01.2011, 11:31   #2
optimator
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 92
По умолчанию

Вот держи небольшой пример:
Код:
#include <iostream>
#include <string>

class My{
	
	private:
	
	string name;
	
	string action;
	
	public:
	
	My();   //===========Конструктор по умолчанию=====
	
	My(string _name, string act); //=с параметрами========
	
	My(My &st); //====Копирования========
	
	~My(); //=====Деструктор=====
	
	string get_name(); //===== получение значения поля  name==
	
	string get_act(); //===получение значения поля action===
	
};
Реализация:
Код:
My :: My(){
	
	name="ololo";
	
	action="by silence";
	
}

My :: My(string _name, string act){
	
	name=_name;
	
	action=act;
	
}


My :: My(My &st){
	
	
this->name=st.name;

this->action=st.action;


}

My :: ~My(){
	
	std::cout<<"destructor"<<std::endl;
	
}

string My ::  get_name(){
	return name;
}

string My ::  get_act(){
	return action;
}
основная прога
Код:
int main(){
	
	My my;
	
	My my_1("Onotole","trololo");
	
	My my_2(my_1);
	
	std::cout<<my.get_name()<<"   "<<my.get_act()<<std::endl;
	
	std::cout<<my_1.get_name()<<"   "<<my_1.get_act()<<std::endl;
	
	std::cout<<my_2.get_name()<<"   "<<my_2.get_act()<<std::endl;
	
	return 0;
}
optimator вне форума Ответить с цитированием
Старый 07.01.2011, 12:13   #3
DarkSwan
Пользователь
 
Регистрация: 11.10.2010
Сообщений: 20
По умолчанию

Спасибо. Буду сидеть разбираться
DarkSwan вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическая память и деструктор JeyKip Общие вопросы C/C++ 3 28.10.2010 16:29
Деструктор класса Lotles Общие вопросы C/C++ 2 16.10.2010 23:10
Деструктор отменяет изменения [MI_nor] Общие вопросы C/C++ 3 08.11.2009 21:40
С++ Конструктор и Деструктор помогите Maxim_Burea Помощь студентам 15 19.09.2009 19:45
С++ (конструктор, деструктор) Kventin Помощь студентам 4 31.03.2009 18:11