اگر از سازنده و مخرب ها استفاده نشه ، چه اتفاقی میاوفته؟ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

اگر از سازنده و مخرب ها استفاده نشه ، چه اتفاقی میاوفته؟

+3 امتیاز
سلام

 

اگر از سازنده و مخرب ها استفاده نشه ، چه اتفاقی میاوفته؟

یه مثال اگه دمه دست دارید بزنید ممنون میشم.

 

با تشکر.
سوال شده شهریور 11, 1393  بوسیله ی hosseinam1370 (امتیاز 163)   8 22 34
دوباره تگ گذاری شد مهر 9, 1393 بوسیله ی BlueBlade

1 پاسخ

+3 امتیاز
 
بهترین پاسخ

اگر  مخرب برای کلاس تعریف نکنید بصورت خودکار یک مخرب پیش فرض برای کلاس ساخته میشه و مخرب متغیر های کلاس رو صدا میزنه .

برای سازنده هم به همین شکل در صورت تعریف نشدن یک سازنده بصورت خودکار تعریف میشه که سازنده متغیر های عضو کلاس رو صدا میزنه .

#include <iostream>
#include <string>
#include <vector>

class Test
{
public:
	int a;
	std::string b;
	std::vector<int> c;
};
int main()
{
//dar khat payeen sazande pish farz seda zade mishe
// a meghdar 0 migire
//b ye string khali va c yek vector khali
	Test t;
}//inja t az scope kharej mishe mokhareb pish farz class zade mishe va field haye a b c paksazi mishan

 

 

پاسخ داده شده شهریور 11, 1393 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
انتخاب شد شهریور 11, 1393 بوسیله ی hosseinam1370
الان پس میگن که باید یه تابع مخرب از همون کلاس تعریف بشه، چی شد ؟ننوشتینش که،الان پس اینجا همه کارها به صورت اتوماتیک انجام شد و نیاز بخ تعریف یا چیزه دیگه ای نداشت؟

با تشکر.
اره این جا اتوماتیک انجام میشه و کار دیگه ای لازم نیست .
ولی مثلا فرض کنید بخواهید بجای این که a زمان ساخته شدن مقدار 0 بگیره مقدار 1 بگیره اینجا باید سازنده رو خودتون بنویسید .
برای مخرب هم وقت هایی لازمه نوشته بشه که مثلا داخل سازنده از new استفاده کردید داخل مخرب باید حافظه گرفته شده رو delete کنید
...