<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="https://publishpress.com/"
	>

<channel>
	<title>شما برای ++C جستجو کردید</title>
	<atom:link href="https://melec.ir/search/%2B%2BC/feed/rss2/" rel="self" type="application/rss+xml" />
	<link>https://melec.ir/</link>
	<description>آموزش الکترونیک,آموزش رزبری پای,آموزش راه اندازی ماژول و سنسور,آموزش آردوینو,نرم افزار های الکترونیک, طراحیPCB,برنامه نویسی میکروکنترلرها ARM AVR PIC FPGA</description>
	<lastBuildDate>Sat, 04 Apr 2026 13:10:33 +0000</lastBuildDate>
	<language>fa-IR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://melec.ir/micromilad/wp-content/uploads/2016/02/logo-1.png</url>
	<title>شما برای ++C جستجو کردید</title>
	<link>https://melec.ir/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>مسیر جذاب الکترونیک؛ از تاریخ برق تا پروژه‌ خلاقانه آردوینو</title>
		<link>https://melec.ir/%d8%a7%d8%b2-%d8%aa%d8%a7%d8%b1%db%8c%d8%ae-%d8%a8%d8%b1%d9%82-%d8%aa%d8%a7-%d9%be%d8%b1%d9%88%da%98%d9%87-%d8%ae%d9%84%d8%a7%d9%82%d8%a7%d9%86%d9%87-%d8%a2%d8%b1%d8%af%d9%88%db%8c%d9%86%d9%88/</link>
					<comments>https://melec.ir/%d8%a7%d8%b2-%d8%aa%d8%a7%d8%b1%db%8c%d8%ae-%d8%a8%d8%b1%d9%82-%d8%aa%d8%a7-%d9%be%d8%b1%d9%88%da%98%d9%87-%d8%ae%d9%84%d8%a7%d9%82%d8%a7%d9%86%d9%87-%d8%a2%d8%b1%d8%af%d9%88%db%8c%d9%86%d9%88/#respond</comments>
		
		<dc:creator><![CDATA[مترجمان]]></dc:creator>
		<pubDate>Sat, 20 Sep 2025 09:00:54 +0000</pubDate>
				<category><![CDATA[رپورتاژ‌]]></category>
		<category><![CDATA[الکترونیک]]></category>
		<category><![CDATA[برق]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=36307</guid>

					<description><![CDATA[<p>وقتی صحبت از فناوری و نوآوری می‌شود، کمتر کسی است که نقش برق را در شکل‌گیری تمدن مدرن نادیده بگیرد. امروز تمام زندگی ما – از ساده‌ترین وسایل خانگی گرفته تا پیچیده‌ترین تجهیزات صنعتی – بر پایه انرژی الکتریکی می‌چرخد. شاید برای شما هم جالب باشد بدانید مخترع برق کیست و چگونه کشفیات چند دانشمند بزرگ، مسیر تاریخ بشر را تغییر داد. در واقع، درک گذشته علم به ما کمک می‌کند آینده را بهتر بسازیم. از طرفی، یادگیری مهارت‌های نوین مثل الکترونیک، رباتیک و برنامه‌نویسی سخت‌افزارها، یکی از بهترین مسیرها برای ورود به دنیای تکنولوژی است. خوشبختانه امروز ابزارهایی مثل آردوینو این راه را ساده‌تر کرده‌اند و هر کسی با کمی پشتکار می‌تواند وارد این دنیا شود.&#160; چرا باید درباره تاریخ برق بدانیم؟ دانش الکترونیک تنها به مدارات و سیم‌ها محدود نمی‌شود. پشت هر فناوری مدرن، داستان‌هایی شگفت‌انگیز از تلاش، شکست و پیروزی وجود دارد. وقتی می‌خوانیم که چه دانشمندانی &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/%d8%a7%d8%b2-%d8%aa%d8%a7%d8%b1%db%8c%d8%ae-%d8%a8%d8%b1%d9%82-%d8%aa%d8%a7-%d9%be%d8%b1%d9%88%da%98%d9%87-%d8%ae%d9%84%d8%a7%d9%82%d8%a7%d9%86%d9%87-%d8%a2%d8%b1%d8%af%d9%88%db%8c%d9%86%d9%88/">مسیر جذاب الکترونیک؛ از تاریخ برق تا پروژه‌ خلاقانه آردوینو</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/%d8%a7%d8%b2-%d8%aa%d8%a7%d8%b1%db%8c%d8%ae-%d8%a8%d8%b1%d9%82-%d8%aa%d8%a7-%d9%be%d8%b1%d9%88%da%98%d9%87-%d8%ae%d9%84%d8%a7%d9%82%d8%a7%d9%86%d9%87-%d8%a2%d8%b1%d8%af%d9%88%db%8c%d9%86%d9%88/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>زبان جاوا؛ زبان برنامه نویسی همه منظوره</title>
		<link>https://melec.ir/%d8%b2%d8%a8%d8%a7%d9%86-%d8%ac%d8%a7%d9%88%d8%a7%d8%9b-%d8%b2%d8%a8%d8%a7%d9%86-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%87%d9%85%d9%87-%d9%85%d9%86%d8%b8%d9%88%d8%b1/</link>
					<comments>https://melec.ir/%d8%b2%d8%a8%d8%a7%d9%86-%d8%ac%d8%a7%d9%88%d8%a7%d8%9b-%d8%b2%d8%a8%d8%a7%d9%86-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%87%d9%85%d9%87-%d9%85%d9%86%d8%b8%d9%88%d8%b1/#respond</comments>
		
		<dc:creator><![CDATA[مترجمان]]></dc:creator>
		<pubDate>Sat, 27 Apr 2024 19:47:07 +0000</pubDate>
				<category><![CDATA[رپورتاژ‌]]></category>
		<category><![CDATA[آموزش برنامه نویسی]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=36121</guid>

					<description><![CDATA[<p>زبان جاوا را می‌توان زبانی ساده، پرطرفدار و قابل اعتماد توصیف کرد. به طور کلی برنامه‌هایی که به کمک جاوا ساخته می‌شوند، بر روی بیش از 56 میلیارد دستگاه در جهان از کامپیوتر شخصی، تلفن همراه، تبلت، ساعت و کارت اعتباری گرفته تا تلویزیون هوشمند، دوربین‌های دیجیتال، کنسول‌های بازی و خودپرداز مورد استفاده قرار می‌گیرند. برنامه نویسی جاوا با زبانی همه منظوره که قابلیت اجرا بر روی انواع پلتفرم‌ها را دارد، انجام می‌شود. ضمنا جاوا در همه رنکینگ‌های معتبر برای زبان‌های برنامه‌نویسی، همیشه در بین سه زبان برتر بوده و از محبوبیت فراوانی در بین برنامه نویسان برخوردار است. در این مطلب می‌خواهیم به شما بگوییم که جاوا چیست و چه کاربردی دارد. زبان برنامه نویسی جاوا چیست؟ برنامه جاوا چیست؟ جاوا در واقع نوعی زبان برنامه نویسی همه منظوره، شی گرا و کلاس‌گرا است که با هدف وابستگی‌های کمتر پیاده‌سازی شده است. در حقیقت جاوا و کدهای برنامه نویسی &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/%d8%b2%d8%a8%d8%a7%d9%86-%d8%ac%d8%a7%d9%88%d8%a7%d8%9b-%d8%b2%d8%a8%d8%a7%d9%86-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%87%d9%85%d9%87-%d9%85%d9%86%d8%b8%d9%88%d8%b1/">زبان جاوا؛ زبان برنامه نویسی همه منظوره</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/%d8%b2%d8%a8%d8%a7%d9%86-%d8%ac%d8%a7%d9%88%d8%a7%d8%9b-%d8%b2%d8%a8%d8%a7%d9%86-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d9%87%d9%85%d9%87-%d9%85%d9%86%d8%b8%d9%88%d8%b1/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>اولین ربات در چه سالی ساخته شد؟ &#8211; تاریخچه ربات</title>
		<link>https://melec.ir/when-the-first-robot-was-made/</link>
					<comments>https://melec.ir/when-the-first-robot-was-made/#respond</comments>
		
		<dc:creator><![CDATA[مترجمان]]></dc:creator>
		<pubDate>Tue, 28 Sep 2021 20:10:05 +0000</pubDate>
				<category><![CDATA[بررسی و معرفی]]></category>
		<category><![CDATA[روبات]]></category>
		<category><![CDATA[ربات]]></category>
		<category><![CDATA[رباتیک]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=35421</guid>

					<description><![CDATA[<p>دنیای رباتیک امروزه یک دنیای بزرگی شده و امروز‌ه‌ ما حتی ربات‌های پیشرفته‌ای را شاهد هستیم که توانایی تعامل انسانی را هم دارند و دستورات را بصورت صوتی دریافت، پردازش و انجام وظیفه‌ می‌کنند. ولی اولین رباتی که ساخته شد اینطوری پیشرفته نبود و خبری از هوش مصنوعی و یادگیری ماشین و سرعت پردازشی بالا نبود. در این مقاله باهم کمی در مورد تاریخچه ساخت اولین ربات صنعتی و تکامل این مسیر صحبت می‌کنیم. شاید اگر دنبال ریشه تفکر انسان در رباتیک و اتوماتیک کردن کارها بگردیم به تاریخ‌های قبل از میلاد مسیح میرسیم و هزاران سال پیش اجداد ما دنبال ساخت ماشین‌هایی مانند ربات‌های امروزی بودن و دوست داشتن کارها بصورت اتوماتیک انجام بشن. این تفکر را در متون تاریخی و یافته‌های باستانی می‌توانیم ببینیم ولی در این مقاله در مورد این قسمت از تاریخچه رباتیک عمیق نمی‌شویم و بیشتر قسمت ربات‌‌‌های صنعتی یا ربات به مفهوم امروزی را &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/when-the-first-robot-was-made/">اولین ربات در چه سالی ساخته شد؟ &#8211; تاریخچه ربات</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/when-the-first-robot-was-made/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>راهنمای جامع و گام به گام آردوینو</title>
		<link>https://melec.ir/how-to-learn-arduino-from-scratch/</link>
					<comments>https://melec.ir/how-to-learn-arduino-from-scratch/#respond</comments>
		
		<dc:creator><![CDATA[مترجمان]]></dc:creator>
		<pubDate>Fri, 25 Jun 2021 07:13:02 +0000</pubDate>
				<category><![CDATA[بررسی و معرفی]]></category>
		<category><![CDATA[برنامه‌ نویسی]]></category>
		<category><![CDATA[یادگیری مبانی الکترونیک]]></category>
		<category><![CDATA[آموزش‌های فرادرس]]></category>
		<category><![CDATA[فرادرس]]></category>
		<category><![CDATA[میکروکنترلر]]></category>
		<category><![CDATA[آردوینو]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=35252</guid>

					<description><![CDATA[<p>آردوینو، محصولی که شاید بتوان گفت صنعت برنامه‌نویسی میکروکنترلرها و برد‌های نهفته (Embedded Boards) را دگرگون کرد. به خیلی از افرادی که متخصص برنامه‌نویسی و الکترونیک هم نبودن فرصتی داد تا بتوانند ایده‌های خود را به واقعیت تبدیل کنند و بتوانند نمونه‌های اولیه محصولات را به‌ارزانی بسازند و تست کنند. در شرکتی کار می‌کردم و از سنسورهای گران قیمت باید در پروژه استفاده می‌کردیم هر کدام از سنسورها ۳۰۰ دلار هزینه برای شرکت داشت و باید با سرعت تست‌های اولیه پاس می‌شد تا می‌توانستیم بفهمیم ساخت محصول شدنی است یا نه؟ در اوایل از برد‌های خفن میکروکنترلرهای ARM برای تمام تست‌ها استفاده می‌کردیم و این کار زمان توسعه محصول را خیلی بالا برده بود و با پیشنهاد مدیر پروژه تصمیم گرفتیم سوئیچ کنیم به استفاده از برد‌ آردوینو DUE برای تهیه نسخه اولیه (Prototype) و این تصمیم کوچک و کتابخانه‌های فراوان آردوینو باعث شد ۷۰ درصد در زمان صرفه جویی &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/how-to-learn-arduino-from-scratch/">راهنمای جامع و گام به گام آردوینو</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/how-to-learn-arduino-from-scratch/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>آموزش کار با CMake</title>
		<link>https://melec.ir/cmake-tutorial/</link>
					<comments>https://melec.ir/cmake-tutorial/#comments</comments>
		
		<dc:creator><![CDATA[میلاد جهاندیده]]></dc:creator>
		<pubDate>Fri, 05 Mar 2021 08:45:56 +0000</pubDate>
				<category><![CDATA[آموزش زبان C]]></category>
		<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[CMakeLists]]></category>
		<category><![CDATA[آموزش CMake]]></category>
		<category><![CDATA[کامپایل با CMake]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[CMake چیست]]></category>
		<category><![CDATA[دستور cmake]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=34277</guid>

					<description><![CDATA[<p>در این مقاله به آموزش کار با CMake می‌پردازیم. برای کار با CMake نیاز به دانش برنامه‌نویسی زبان C یا برنامه‌نویسی زبان ++C دارید و جز آموزش‌های پیشرفته زبان C و ++C حساب می‌شه. CMake چیست؟ ابزار cmake یک سیستم قابل توسعه برای مدیریت پروسه build بدون وابستگی به کامپایلر در یک سیستم‌عامل است. فایل‌های پیکربندی ساده‌ای در هر پوشه به اسم  CMakeLists.txt قرار می‌گیرد که برای تولید خروجی‌های build استاندارد از جمله MakeFiles برای Linux استفاده می‌شود. CMake یک زبان اسکریپت نویسی برای build است و Syntax مخصوص خود را دارد. ساختار فایل‌های CMake فایل‌های CMake بصورت  CMakeLists.txt یا project_name.cmake ذخیره می‌شوند. البته بعنوان روش شایسته و تمیز کدنویسی بهتر است اسکریپت اصلی به شکل  CMakeLists.txt نام گذاری شود. فایل CmakeLists.txt در کنار فایل‌های سورس پروژه‌ای که می‌خواهید کامپایل کنید قرار می‌گیرد. اگر پروژه‌ دارای چندین ماژول است و هر کدام توانایی کامپایل جداگانه را دارند در زیرپوشه هر &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/cmake-tutorial/">آموزش کار با CMake</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/cmake-tutorial/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title>آموزش FPGA و Verilog برای تازه کارها – DDR SDRAM</title>
		<link>https://melec.ir/learning-fpga-verilog-beginners-guide-ddr-sdram/</link>
					<comments>https://melec.ir/learning-fpga-verilog-beginners-guide-ddr-sdram/#respond</comments>
		
		<dc:creator><![CDATA[سارا زارعی]]></dc:creator>
		<pubDate>Thu, 19 Nov 2020 06:40:11 +0000</pubDate>
				<category><![CDATA[آموزش های FPGA]]></category>
		<category><![CDATA[build کردن هسته‌ی مموری کنترلر]]></category>
		<category><![CDATA[fpga board]]></category>
		<category><![CDATA[XILINX]]></category>
		<category><![CDATA[سیستم نهفته]]></category>
		<category><![CDATA[آموزش الکترونیک]]></category>
		<category><![CDATA[Xilinx ISE]]></category>
		<category><![CDATA[Verilog]]></category>
		<category><![CDATA[SDRAM]]></category>
		<category><![CDATA[ماژول‌های وریلاگ]]></category>
		<category><![CDATA[Verilog Modules]]></category>
		<category><![CDATA[وریلاگ]]></category>
		<category><![CDATA[fpga]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=32220</guid>

					<description><![CDATA[<p>DDR SDRAM زمانیکه یک بورد FPGA را انتخاب می‌کنیم، یکی از مهم‌ترین فاکتورهایی که باید مدنظر قرار گیرد میزان فضای ذخیره‌سازی است. بوردهای مختلف، می‌توانند انواع مختلفی از مموری‌ها را داشته باشند. مثلا حافظه‌های SRAM ،QDR ،SDRAM و FLASH و &#8230; توصیه می‌کنم مقاله انواع حافظه‌ها را مطالعه کنید. DDR SDRAM یکی از محبوب‌ترین انواع مموری‌هاست که حجم قابل‌ قبول و بالایی از حافظه‌ی فرار (volatile storage) را ارائه می‌دهد و دسترسی به آن نیز در زمان معقولی انجام می‌شود. لازم است تذکر دهیم که وجود یک حافظه‌ی فرار آنبورد در کاربردهای بسیاری مانند جمع‌آوری داده (data logging)، پردازش تصویر و &#8230; تا چه اندازه می‌تواند مهم و کلیدی باشد چرا که بلوک RAM موجود بر روی خود بوردهای FPGA محدود است و پاسخگوی نیاز چنین کاربردهایی نیست. در این آموزش ما بنا نداریم که به اصول و معماری SDRAM بپردازیم، بلکه می‌خواهیم در قالب انجام یک پروژه‌ی کوچک ببینیم &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/learning-fpga-verilog-beginners-guide-ddr-sdram/">آموزش FPGA و Verilog برای تازه کارها – DDR SDRAM</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/learning-fpga-verilog-beginners-guide-ddr-sdram/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[آموزش FPGA و Verilog برای تازه کارها]]></series:name>
	</item>
		<item>
		<title>دوره آموزش آردوینو (برنامه نویسی پیشرفته آردوینو)</title>
		<link>https://melec.ir/%d8%af%d9%88%d8%b1%d9%87-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%a2%d8%b1%d8%af%d9%88%db%8c%d9%86%d9%88-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c/</link>
					<comments>https://melec.ir/%d8%af%d9%88%d8%b1%d9%87-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%a2%d8%b1%d8%af%d9%88%db%8c%d9%86%d9%88-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c/#comments</comments>
		
		<dc:creator><![CDATA[مترجمان]]></dc:creator>
		<pubDate>Mon, 09 Nov 2020 11:55:28 +0000</pubDate>
				<category><![CDATA[رپورتاژ‌]]></category>
		<category><![CDATA[آردوینو]]></category>
		<category><![CDATA[سایت الکترونیک آیرنکس]]></category>
		<category><![CDATA[آیرنکس]]></category>
		<category><![CDATA[سایت الکترونیک]]></category>
		<category><![CDATA[یادگیری آردوینو]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=34473</guid>

					<description><![CDATA[<p>در این مقاله به معرفی دوره آموزش آردوینو (صفر تا 1000) میپردازیم. برد های آردوینو از یک میکروکنترلر به عنوان مغز استفاده می‌کنند و میتوانند انواع مختلفی از فعالیت ها را انجام دهند. این دوره آموزشی توسط سایت الکترونیک آیرنکس تهیه شده است که مدت زیادی است در زمینه تخصصی آردوینو و رزبری پای فعالیت میکند. مزایای یادگیری آردوینو یادگیری آردوینو مزیت های فوق العاده ای دارد. باید بدانید که پروژه هایی که با آردوینو طراحی میشوند بسیار مقرون به صرفه هستند. زیرا آردوینو با وجود قیمت مناسب، دارای انعطاف پذیری بسیار بالایی است و میتوان برای انواع پروژه ها از آردوینو استفاده کرد. آردوینو دارای جامعه گسترده جهانی و ایرانی است که باعث میشود در صورتی که مشکلی داشته باشید بتوانید سریعا آن را برطرف کنید. برنامه نویسی آردوینو میتواند برای پروژه های ساخت ربات، اینترنت اشیا و &#8230; استفاده شود. آردوینو دارای کتابخانه برای سنسور ها، ماژول ها &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/%d8%af%d9%88%d8%b1%d9%87-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%a2%d8%b1%d8%af%d9%88%db%8c%d9%86%d9%88-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c/">دوره آموزش آردوینو (برنامه نویسی پیشرفته آردوینو)</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/%d8%af%d9%88%d8%b1%d9%87-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%a2%d8%b1%d8%af%d9%88%db%8c%d9%86%d9%88-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>آموزش راه اندازی ماژول +nRF24L01</title>
		<link>https://melec.ir/nrf24l01-rf-module-tutorial/</link>
					<comments>https://melec.ir/nrf24l01-rf-module-tutorial/#comments</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Wed, 04 Nov 2020 06:40:39 +0000</pubDate>
				<category><![CDATA[آموزش راه اندازی ماژول]]></category>
		<category><![CDATA[آموزش های آردوینو]]></category>
		<category><![CDATA[nRF24L01+ RF]]></category>
		<category><![CDATA[ESP8266 ESP-0]]></category>
		<category><![CDATA[rf module]]></category>
		<category><![CDATA[rf]]></category>
		<category><![CDATA[ماژول +nRF24L01]]></category>
		<category><![CDATA[nRF24L01]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[آموزش الکترونیک]]></category>
		<category><![CDATA[آردوینو]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=33183</guid>

					<description><![CDATA[<p>مقدمه‌ پیش از این آموزش ESP8266-01، ماژول وای‌فایی با تراشه کوچک، که امکان افزودن وای‌فای به پروژه‌های کاربران را فراهم می‌کرد را پوشش دادیم. امروز، درباره‌ی ماژول nRF24L01+ RF صحبت خواهیم کرد، که به نحوی همانند خواهر ESP8266 ESP01 می‌باشد که قابلیت اضافه کردن ارتباط بی‌سیم با فرکانس رادیویی را برای کاربران فراهم می‌کند. +nRF24L01 و ESP8266 ESP-01 فرم فاکتور و آرایش پین مشابهی (و حتی از راه دور نیز شبیه به هم هستند!) را به کار بسته‌اند، با این حال به صورت کاملاً متفاوتی کنترل شده عمل می‌کنند. در این آموزش، امیدواریم بتوانیم اصول اساسی استفاده از ماژول‌‌های RF را معرفی کرده، و همچنین نحوه‌ی ارتباط آن با دیگر ماژول‌های RF و میکروکنترلرها را نیز توضیح دهیم. برای این آموزش، ارتباط بین ماژول و برد Arduino Uno را نمایش می‌دهیم. +nRF24L01 بر پایه‌ی آی‌سی گیرنده Nordic Semiconductor nRF24L01+1 برای باند فرکانس ۲.۴ گیگاهرتز ISM (صنعتی، علمی ‌و پزشکی) می‌باشد. &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/nrf24l01-rf-module-tutorial/">آموزش راه اندازی ماژول +nRF24L01</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/nrf24l01-rf-module-tutorial/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>آشنایی با بورد NodeMCU</title>
		<link>https://melec.ir/%d8%a2%d8%b4%d9%86%d8%a7%db%8c%db%8c-%d8%a8%d8%a7-%d8%a8%d9%88%d8%b1%d8%af-nodemcu/</link>
					<comments>https://melec.ir/%d8%a2%d8%b4%d9%86%d8%a7%db%8c%db%8c-%d8%a8%d8%a7-%d8%a8%d9%88%d8%b1%d8%af-nodemcu/#comments</comments>
		
		<dc:creator><![CDATA[سارا زارعی]]></dc:creator>
		<pubDate>Sat, 03 Oct 2020 06:40:58 +0000</pubDate>
				<category><![CDATA[اینترنت اشیاء IoT]]></category>
		<category><![CDATA[برد NodeMCU]]></category>
		<category><![CDATA[بورد NodeMCU]]></category>
		<category><![CDATA[طرز کار NodeMCU]]></category>
		<category><![CDATA[Arduino IDE]]></category>
		<category><![CDATA[ESPlorer IDE]]></category>
		<category><![CDATA[تفاوت‌های Arduino IDE و ESPlorer IDE]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=32083</guid>

					<description><![CDATA[<p>NodeMCU یک فریمور منبع‌باز (open source) مبتنی بر زبان برنامه‌نویسی LUA است که بر پایه‌ی چیپ وای‌فای ESP8266 توسعه داده شده است. به طور دقیق‌تر می‌توان اینطور گفت که با در نظر گرفتن قابلیت‌هایی که تراشه‌ی ESP8266 دارد، NodeMCU دارای بورد توسعه‌ی ESP8266 است. تصویر این بورد را در اینجا می‌توانید ببینید. از آنجا که این فریمور یک فریمور منبع‌باز است، دسترسی به طراحی سخت‌افزاری آن برای همه امکان‌پذیر بوده و امکان تغییر، اصلاح و استفاده‌ی عمومی دارد. در داخل این بورد توسعه یک چیپ وای‌فای ESP8266 وجود دارد. این چیپ یکی‌ از تراشه‌های ارزان قیمت وای‌فای است که توسط Espressif Systems و با پروتکل TCP/IP تولید شده است. اگر مایل بودید در مورد این تراشه اطلاعات بیشتری داشته باشید؛ به این لینک‌های زیر مراجعه کنید. راه اندازی ماژول ESP8266 آموزش راه اندازی ESP8266 با استفاده از آردوینو نسخه‌ی دوم این بورد نیز در بازارها عرضه شده است که تصویر &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/%d8%a2%d8%b4%d9%86%d8%a7%db%8c%db%8c-%d8%a8%d8%a7-%d8%a8%d9%88%d8%b1%d8%af-nodemcu/">آشنایی با بورد NodeMCU</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/%d8%a2%d8%b4%d9%86%d8%a7%db%8c%db%8c-%d8%a8%d8%a7-%d8%a8%d9%88%d8%b1%d8%af-nodemcu/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>آموزش کار با IoT Cloud آردوینو</title>
		<link>https://melec.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%da%a9%d8%a7%d8%b1-%d8%a8%d8%a7-iot-cloud-%d8%a2%d8%b1%d8%af%d9%88%db%8c%d9%86%d9%88/</link>
					<comments>https://melec.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%da%a9%d8%a7%d8%b1-%d8%a8%d8%a7-iot-cloud-%d8%a2%d8%b1%d8%af%d9%88%db%8c%d9%86%d9%88/#respond</comments>
		
		<dc:creator><![CDATA[سارا زارعی]]></dc:creator>
		<pubDate>Sat, 19 Sep 2020 06:40:37 +0000</pubDate>
				<category><![CDATA[آموزش های آردوینو]]></category>
		<category><![CDATA[اینترنت اشیاء IoT]]></category>
		<category><![CDATA[آموزش الکترونیک به زبان ساده]]></category>
		<category><![CDATA[Arduino IoT Cloud]]></category>
		<category><![CDATA[IoT Cloud]]></category>
		<category><![CDATA[MKR1000]]></category>
		<category><![CDATA[آموزش الکترونیک]]></category>
		<category><![CDATA[MKR IOT Bundle]]></category>
		<category><![CDATA[آموزش الکترونیک از پایه]]></category>
		<category><![CDATA[Arduino Web Editor]]></category>
		<category><![CDATA[آردوینو]]></category>
		<category><![CDATA[iot]]></category>
		<category><![CDATA[اینترنت اشیا]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=33312</guid>

					<description><![CDATA[<p>آشنایی با Arduino IoT Cloud و نخستین قدم‌ها برای ورود به دنیای اینترنت اشیا. نیازمندی‌‌های اجرای پروژه بورد Arduino MKR1000 (می‌توان از MKR1010 هم استفاده کرد. و یا حتی در صورتی که به این دو دسترسی نداشتید، MKR IOT Bundle هم برای این پروژه قابل استفاده است) برد بورد LED  از نوع 20mA مقاومت ۲۲۱ اهمی (البته ما در اینجا از مقاومت ۱۵۰ اهمی استفاده کرد‌ه‌ایم تا جریانی که ازLED می‌آید را محدود کنیم. چرا که LED با سیگنال ولتاژ بالای ۳.۳ ولت تغذیه می‌شود) پتانسیومتر چرخشی کلید فشاری 12mm مقاومت 10K ( به عنوان مقاومت پول دان برای کلید فشاری) App‌ها و سرویس‌های آنلاین مورد نیاز Arduino Web Editor Arduino IoT Cloud درباره‌ی پروژه‌ای که می‌ خواهیم انجام دهیم  در این آموزش می‌خواهیم پروژه‌ای را با هم انجام دهیم که در آن بورد MKR1000 (و یا MKR1010) را به پلتفرم Arduino IoT Cloud متصل کنیم. یعنی دستاورد ما در &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%da%a9%d8%a7%d8%b1-%d8%a8%d8%a7-iot-cloud-%d8%a2%d8%b1%d8%af%d9%88%db%8c%d9%86%d9%88/">آموزش کار با IoT Cloud آردوینو</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%da%a9%d8%a7%d8%b1-%d8%a8%d8%a7-iot-cloud-%d8%a2%d8%b1%d8%af%d9%88%db%8c%d9%86%d9%88/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>مقدمه‌‌ای بر طراحی و توسعه‌ی سیستم‌های نهفته</title>
		<link>https://melec.ir/%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d9%88-%d8%aa%d9%88%d8%b3%d8%b9%d9%87%e2%80%8c%db%8c-%d8%b3%db%8c%d8%b3%d8%aa%d9%85%e2%80%8c%d9%87%d8%a7%db%8c-%d9%86%d9%87%d9%81%d8%aa%d9%87/</link>
					<comments>https://melec.ir/%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d9%88-%d8%aa%d9%88%d8%b3%d8%b9%d9%87%e2%80%8c%db%8c-%d8%b3%db%8c%d8%b3%d8%aa%d9%85%e2%80%8c%d9%87%d8%a7%db%8c-%d9%86%d9%87%d9%81%d8%aa%d9%87/#comments</comments>
		
		<dc:creator><![CDATA[سارا زارعی]]></dc:creator>
		<pubDate>Mon, 31 Aug 2020 05:23:17 +0000</pubDate>
				<category><![CDATA[الکترونیک دیجیتال]]></category>
		<category><![CDATA[رزبری پای]]></category>
		<category><![CDATA[آموزش های آردوینو]]></category>
		<category><![CDATA[امبدد سیستم‌]]></category>
		<category><![CDATA[سیستم نهفته]]></category>
		<category><![CDATA[Embedded System]]></category>
		<category><![CDATA[طراحی سیستم نهفته]]></category>
		<category><![CDATA[دیباگر]]></category>
		<category><![CDATA[آموزش الکترونیک]]></category>
		<category><![CDATA[آموزش الکترونیک از پایه]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=33547</guid>

					<description><![CDATA[<p>تکنولوژی‌های فراوانی در مهندسی الکترونیک و همین طور شاخه‌‌هایی از علوم کامپیوتر وجود دارند که به طور مکرر مورد استفاده قرار می‌گیرند، حتی شهرت و محبوبیت پیدا می‌کنند، اما بسیاری از افراد اصلا به درستی معنا و مفهوم آنها را نمی‌دانند و البته شاید چندان هم اهمیتی نداشته باشد. اما برای کسانی که کنجکاو باشند درک تئوری درستی نیز از موضوع پیدا کنند، سر کشیدن به چنین آموزش‌هایی خالی از لطف نخواهد بود. در این آموزش می‌خواهیم به سراغ سیستم‌های نهفته (امبدد) برویم و برخی اصطلاحات آنها را با هم بررسی کنیم. برای آنکه بتوانیم به درک درستی از مفهوم سیستم نهفته برسیم، ابتدا باید یک بار دیگر مفهوم سیستم را با هم مرور کنیم. سیستم چیست؟ یک سیستم مجموعه‌ای از تعدادی جزء یا واحد تشکیل دهنده است که در راستای انجام عملکردی خاص، با هم همکاری می‌کنند. مثلا ماشین یک سیستم خودرویی است که از اجزایی مانند یک اتاقک &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d9%88-%d8%aa%d9%88%d8%b3%d8%b9%d9%87%e2%80%8c%db%8c-%d8%b3%db%8c%d8%b3%d8%aa%d9%85%e2%80%8c%d9%87%d8%a7%db%8c-%d9%86%d9%87%d9%81%d8%aa%d9%87/">مقدمه‌‌ای بر طراحی و توسعه‌ی سیستم‌های نهفته</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d9%88-%d8%aa%d9%88%d8%b3%d8%b9%d9%87%e2%80%8c%db%8c-%d8%b3%db%8c%d8%b3%d8%aa%d9%85%e2%80%8c%d9%87%d8%a7%db%8c-%d9%86%d9%87%d9%81%d8%aa%d9%87/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>آموزش Verilog &#8211; ماژول‌ها</title>
		<link>https://melec.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-verilog-%d9%85%d8%a7%da%98%d9%88%d9%84%e2%80%8c%d9%87%d8%a7/</link>
					<comments>https://melec.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-verilog-%d9%85%d8%a7%da%98%d9%88%d9%84%e2%80%8c%d9%87%d8%a7/#comments</comments>
		
		<dc:creator><![CDATA[سارا زارعی]]></dc:creator>
		<pubDate>Mon, 10 Aug 2020 06:40:17 +0000</pubDate>
				<category><![CDATA[آموزش های FPGA]]></category>
		<category><![CDATA[fpga]]></category>
		<category><![CDATA[میکروپروسسور]]></category>
		<category><![CDATA[زبان Verilog]]></category>
		<category><![CDATA[آموزش fpga]]></category>
		<category><![CDATA[زبان‌های HDL]]></category>
		<category><![CDATA[آموزش الکترونیک]]></category>
		<category><![CDATA[Xilinx ISE]]></category>
		<category><![CDATA[Verilog]]></category>
		<category><![CDATA[آموزش Verilog]]></category>
		<category><![CDATA[ماژول‌های وریلاگ]]></category>
		<category><![CDATA[Verilog Modules]]></category>
		<category><![CDATA[وریلاگ]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=32075</guid>

					<description><![CDATA[<p>ماژول‌ها یادگرفتن وریلاگ به خودی خود کار دشواری نیست؛ اما اینکه بتوانیم یک مدار را با وریلاگ خوب طراحی کنیم، بعضا ممکن است کار دشواری باشد. اما نگران نباشید؛ ما در اینجا با تمرکز بر یک طراحی ساده جلو می‌ر‌ویم و می‌کوشیم تا به ساده‌ترین حالت ممکن همه‌چیز را به شما توضیح دهیم. اگر پیش از این با زبان‌های برنامه‌نویسی پروسیژرال یا همان رویه‌ای (procedural languages) مانند C و ++C کار کرده باشید، حالا باید کاملا ذهنتان را آماده و هوشیار نگه دارید که قرار نیست در در دنیای دیجیتال هم همه‌چیز به همان صورت رویه‌ای و ترتیبی باشد. بلکه ممکن است اتفاقات زیادی را داشته ‌باشیم که به صورت موازی با هم رخ بدهند. زمانی که خود من شروع به آموختن وریلاگ کردم، به دلیل اینکه همین نکته‌ی ساده را نمی‌دانستم، اوایل تمام کد ها را به صورت ترتیبی (sequentially) می‌نوشتم؛ انگار که مشغول نوشتن کد C باشم. برنامه‌های &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-verilog-%d9%85%d8%a7%da%98%d9%88%d9%84%e2%80%8c%d9%87%d8%a7/">آموزش Verilog &#8211; ماژول‌ها</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-verilog-%d9%85%d8%a7%da%98%d9%88%d9%84%e2%80%8c%d9%87%d8%a7/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		
		<series:name><![CDATA[آموزش FPGA و Verilog برای تازه کارها]]></series:name>
	</item>
		<item>
		<title>برنامه‌نویسی وب در ++C</title>
		<link>https://melec.ir/cpp-web-programming/</link>
					<comments>https://melec.ir/cpp-web-programming/#comments</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Thu, 06 Aug 2020 06:40:27 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[CGI]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[سی جی آی]]></category>
		<category><![CDATA[برنامه نویسی شی گرا]]></category>
		<category><![CDATA[Common Gate interface]]></category>
		<category><![CDATA[آموزش c++ رایگان]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ به زبان ساده]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ از مبتدی تا پیشرفته]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[آموزش مقدماتی c++]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31389</guid>

					<description><![CDATA[<p>CGI چیست؟ رابط دروازه مشترک (Common Gate interface) یا CGI، مجموعه‌ای از استانداردها می‌باشد که چگونگی ردوبدل کردن اطلاعات بین سرور و یک اسکریپت دلخواه را تعریف می‌کند. مشخصات فعلی CGI توسط NCSA نگه‌داری می‌شود.CGI ،NCSA را به صورت زیر تعریف می‌کند. رابط دروازه مشترک، استانداردی برای دروازه خروجی برنامه به رابط سرور اطلاعاتی مانند سرورهای HTTP می‌باشد. نسخه فعلی CGI/1.1 است و نسخه CGI/1.2 تحت توسعه می‌باشد. مرورگر وب (Web Browsing) برای درک مفهوم CGI، اجازه دهید که بررسی کنیم با کلیک کردن روی یک لینک در مرورگر چه اتفاقی خواهد افتاد. مرورگر شما با سرور HTTP وب تماس حاصل کرده و برای یک URL،مثلاً یک فایل، درخواست ارسال می‌کند. سرور وب URL را تجزیه (parse) کرده و به دنبال نام فایل می‌گردد. اگر نام فایل درخواستی را پیدا کند، آن را به مرورگر ارسال خواهد کرد و در غیراین صورت یک پیام خطا مبنی بر اینکه فایل درخواست &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/cpp-web-programming/">برنامه‌نویسی وب در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/cpp-web-programming/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>چند نخی یا Multithreading در ++C</title>
		<link>https://melec.ir/cpp-multithreading/</link>
					<comments>https://melec.ir/cpp-multithreading/#comments</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Wed, 05 Aug 2020 06:40:46 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ از مبتدی تا پیشرفته]]></category>
		<category><![CDATA[نخ‌های قابل اتصال در c++]]></category>
		<category><![CDATA[آموزش مقدماتی c++]]></category>
		<category><![CDATA[نخ‌های منفصل در c++]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[نخ]]></category>
		<category><![CDATA[چند نخی]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[چند وظیفه‌ای]]></category>
		<category><![CDATA[Thread]]></category>
		<category><![CDATA[C++ Multithreading]]></category>
		<category><![CDATA[multitasking]]></category>
		<category><![CDATA[آموزش c++ رایگان]]></category>
		<category><![CDATA[Detaching Threads]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ به زبان ساده]]></category>
		<category><![CDATA[Joining Threads]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31482</guid>

					<description><![CDATA[<p>چند نخی شکل ویژه‌ای از چند وظیفه‌ای (multitasking) است. چند وظیفه‌ای خاصیتی است که به کامپیوتر این امکان را می‌دهد تا دو یا چند برنامه را به طور همزمان اجرا کند. در حالت کلی، دو نوع چند وظیفه‌ای وجود دارد: مبتنی بر پروسس‌ (process-based) و مبتنی بر نخ (thread-based). چند وظیفه‌ای مبتنی بر پروسس، اجرای همزمان برنامه‌ها را برعهده می‌گیرد. چند وظیفه‌ای مبتنی بر نخ اجرای همزمان چند تکه از یک برنامه را برعهده می‌گیرد. یک برنامه شامل دو یا چند بخش است که می‌توان همزمان آنها را اجرا کرد. هر بخش از برنامه یک نخ (thread) نامیده می‌شود، و هر نخ یک مسیر اجرایی جداگانه تعریف می‌کند. ++C هیچ پشتیبانی داخلی برای برنامه‌های چند نخی فراهم نکرده است. در عوض، این برعهده سیستم عامل است که چنین ویژگی را به طور کامل فراهم کند. این آموزش فرض را براین می‌گذارد که شما از سیستم عامل لینوکس استفاده می‌کنید. قصد &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/cpp-multithreading/">چند نخی یا Multithreading در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/cpp-multithreading/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>مدیریت سیگنال‌ها در ++C</title>
		<link>https://melec.ir/cpp-signal-handling/</link>
					<comments>https://melec.ir/cpp-signal-handling/#respond</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Tue, 04 Aug 2020 06:40:46 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[C++ Signal Handling]]></category>
		<category><![CDATA[وقفه در C++]]></category>
		<category><![CDATA[c++ interrupt]]></category>
		<category><![CDATA[آموزش ++C]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ از مبتدی تا پیشرفته]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[آموزش ++C از مبتدی]]></category>
		<category><![CDATA[زبان برنامه‌نویسی ++C]]></category>
		<category><![CDATA[مدیریت سیگنال در c++]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31340</guid>

					<description><![CDATA[<p>سیگنال‌ها وقفه‌هایی (interrupt) هستند که از جانب سیستم عامل به یک پروسس (process) تحویل داده می‌شوند و می‌توانند یک برنامه را به صورت دائمی‌ پایان دهند. می‌توان با فشردن کلید Ctrl+C در لینوکس، یونیکس، Mac OS X یا ویندوز یک وقفه ایجاد کرد. سیگنال‌هایی وجود دارند که یک برنامه نمی‌تواند آنها را دریافت کند. اما لیستی از سیگنال‌ها در زیر آمده است که برنامه توانایی دریافت آنها و ایجاد واکنش مناسب نسبت به آنها را دارد. این سیگنال‌ها در هدرفایل &#60;csignal&#62; تعریف شده‌اند. ردیف سیگنال و توصیف آن 1 SIGABRT خاتمه غیرعادی یک برنامه، مانند فراخوانی abort. 2 SIGFPE یک عملیات ریاضی نادرست، مانند تقسیم بر صفر یا عملیات منجر به سرریزی (overflow). 3 SIGILL شناسایی یک دستور غیرمجاز. 4 SIGINT دریافت یک سیگنال interactive attention. 5 SIGSEGV یک دسترسی غیرمجاز به حافظه. 6 SIGTERM ارسال یک درخواست پایان برنامه  به خود برنامه. تابع ()signal کتابخانه مدیریت سیگنال‌ها تابع signal &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/cpp-signal-handling/">مدیریت سیگنال‌ها در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/cpp-signal-handling/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>پیش‌پردازنده‌ها یا Preprocessor در ++C</title>
		<link>https://melec.ir/cpp-preprocessor/</link>
					<comments>https://melec.ir/cpp-preprocessor/#comments</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Mon, 03 Aug 2020 06:40:39 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[ماکروها در ++C]]></category>
		<category><![CDATA[c++ macros]]></category>
		<category><![CDATA[آموزش c++ رایگان]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ از مبتدی تا پیشرفته]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[آموزش مقدماتی c++]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[پیش پردازنده‌ها در ++C]]></category>
		<category><![CDATA[C++ Preprocessor]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31318</guid>

					<description><![CDATA[<p>پیش پردازنده‌ها دستوراتی هستند که به کامپایلر اعلام خواهند کرد که اطلاعات را پیش از آغاز عملیات کامپایل، چگونه پیش پردازش کنند. همه دستورات پیش‌پردازنده با # آغاز می‌شوند. در هر خط، قبل از دستور پیش پردازنده  فقط استفاده از کارکترهای فضای خالی مجاز است. دستورات پیش‌پردازنده دستورات ++C به حساب نمی‌آیند، بنابراین پس از آنها سمی‌کالن (;) قرار نمی‌گیرد. تاکنون دستور include# را در تمام مثال‌های خودمان دیده‌ایم. این ماکرو برای ضمیمه کردن یک هدرفایل در فایل سورس به کار می‌رود. ++C از چندین دستور پیش‌پردازنده پشتیبانی می‌کند. این دستورات شامل «include ،#define ،#if ،#else ،#line#» و &#8230; هستند. اجازه دهید برخی از مهم‌ترین آنها را بررسی کنیم. پیش‌پردازنده define# این پیش‌پردازنده، ثابت‌های نمادین (symbolic constant) ایجاد می‌کند. این ثابت‌های نمادین ماکرو (macro) نامیده می‌شوند و شکل کلی زیر را دارند. #define macro-name replacement-text پس از نوشتن این خط، تمام ماکروهای متعاقب پیش از کامپایل برنامه، با عبارت replacement-text &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/cpp-preprocessor/">پیش‌پردازنده‌ها یا Preprocessor در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/cpp-preprocessor/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>الگوها یا Templates در ++C</title>
		<link>https://melec.ir/cpp-templates/</link>
					<comments>https://melec.ir/cpp-templates/#respond</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Sun, 02 Aug 2020 06:40:47 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[آموزش برنامه نویسی]]></category>
		<category><![CDATA[برنامه‌نویسی جنریک]]></category>
		<category><![CDATA[یادگیری ++C]]></category>
		<category><![CDATA[آموزش c++ رایگان]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ از مبتدی تا پیشرفته]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[آموزش رایگان ++c]]></category>
		<category><![CDATA[الگوها در سی پلاس پلاس]]></category>
		<category><![CDATA[C++ Templates]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31310</guid>

					<description><![CDATA[<p>در این جلسه به بررسی الگوها یا Templates در ++C خواهیم پرداخت. الگوها پایه و اساس برنامه‌نویسی جنریک (generic) می‌باشند. در این برنامه‌نویسی، کد به روشی نوشته می‌شود که به هیچ نوع داده  خاصی وابسته نباشد. یک الگو طرح یا فرمولی برای ساختن یک کلاس یا تابع جنریک است. کانتینرهای (container) کتابخانه مانند شمارشگر (iterator) و الگوریتم (algorithm) مثال‌هایی از برنامه‌نویسی جنریک هستند که با استفاده از مفهوم الگو توسعه یافته‌اند. هر کانتینر،مانند vector، تنها یک تعریف مشخص دارد، اما می‌توان vectorهایی از انواع مختلف مانند &#60;vector&#60;int یا &#60;vector&#60;string تعریف کرد. می‌توان از الگوها همچون کلاس‌ها برای تعریف توابع نیز استفاده کرد، اجازه دهید طرز کارآنها را باهم بررسی کنیم. الگوی تابع (function template) شکل عمومی ‌تعریف یک الگوی تابع به صورت زیر است. template &#60;class type&#62; ret-type func-name(parameter list) { // body of function } در این تعریف، type یک نام جایگزین برای نوع داده مورد استفاده تابع است. &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/cpp-templates/">الگوها یا Templates در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/cpp-templates/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>فضای نام یا Namespace در ++C</title>
		<link>https://melec.ir/cpp-namespaces/</link>
					<comments>https://melec.ir/cpp-namespaces/#comments</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Sat, 01 Aug 2020 06:40:13 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[آموزش ++C]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ از مبتدی تا پیشرفته]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[آموزش ++C از مبتدی]]></category>
		<category><![CDATA[++Namespaces in C]]></category>
		<category><![CDATA[فضای نام در ++C]]></category>
		<category><![CDATA[دستور using در ++C]]></category>
		<category><![CDATA[Nested Namespaces]]></category>
		<category><![CDATA[using in c++]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31305</guid>

					<description><![CDATA[<p>وضعیتی را تصور کنید که دو فرد با اسم مشابه یعنی Zara، در یک کلاس داریم. اگر بخواهیم بین آنها تفاوت روشنی به وجود بیاوریم، مجبور خواهیم بود که علاوه بر نام آنها از اطلاعات اضافی مانند محل سکونت &#8211; اگر در جاهای متفاوتی از هم زندگی می‌کنند &#8211; و نام پدر یا مادر و &#8230; استفاده کنیم. مشابه همین وضعیت در برنامه‌های ++C هم ممکن است به وجود بیاید. برای مثال، ممکن است در کدتان تابعی به نام ()xyz تعریف کنید و در یک کتابخانه دیگر نیز دقیقاً تابعی با همان نام ()xyz موجود باشد. در این حالت کامپایلر هیچ اطلاعی ندارد که باید به کدام نسخه از تابع ()xyz اشاره کند. برای حل این مشکل یک فضای نام تعریف می‌کنیم و از آن به عنوان همان اطلاعات اضافی برای متمایزکردن توابع، کلاس‌ها، متغیرها و &#8230; استفاده می‌کنیم. با استفاده از فضای نام، می‌توان زمینه‌ای (context) که نام‌ها در &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/cpp-namespaces/">فضای نام یا Namespace در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/cpp-namespaces/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>حافظه پویا در ++C</title>
		<link>https://melec.ir/cpp-dynamic-memory/</link>
					<comments>https://melec.ir/cpp-dynamic-memory/#respond</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Fri, 31 Jul 2020 06:40:51 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ از مبتدی تا پیشرفته]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[آموزش رایگان ++c]]></category>
		<category><![CDATA[عملگرها در ++C]]></category>
		<category><![CDATA[عملگر new در سی پلاس پلاس]]></category>
		<category><![CDATA[حافظه پویا در C]]></category>
		<category><![CDATA[عملگرهای delete در سی پلاس پلاس]]></category>
		<category><![CDATA[C++ Dynamic Memory]]></category>
		<category><![CDATA[آموزش ++C]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ به زبان ساده]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31300</guid>

					<description><![CDATA[<p>درک مناسب از نحوه عملکرد حافظه پویا (داینامیک) کمک شایانی به برنامه نویسان ++C خواهد کرد. حافظه در برنامه ++C به دو بخش تقسیم خواهد شد. Stack: همه متغیرهای تعریف شده درون تابع در حافظه stack ذخیره خواهند شد. Heap: این بخش، حافظه استفاده نشده برنامه است و می‌توان در حین اجرای برنامه از آن برای تخصیص حافظه به صورت پویا استفاده کرد. در بسیاری اوقات از ابتدا اطلاع دقیقی از میزان حافظه مورد نیاز برای ذخیره متغیرها در دسترس نیست و بنابراین می‌توان در زمان اجرا حافظه مورد نیاز را به آنها اختصاص داد. در زمان اجرا، از حافظه heap می‌توان به متغیرهای داده شده، حافظه تخصیص داد. این کار با استفاده از یک عملگر ویژه که آدرس فضای اختصاص داده شده را برمی‌گرداند انجام می‌شود. این عملگر new است. اگر به حافظه پویای اختصاص یافته دیگر نیازی نداشته باشید، می‌توانید با استفاده از عملگر delete آن را آزاد &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/cpp-dynamic-memory/">حافظه پویا در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/cpp-dynamic-memory/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>اعضای استاتیک یک کلاس در ++C</title>
		<link>https://melec.ir/cpp-static-members/</link>
					<comments>https://melec.ir/cpp-static-members/#respond</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Thu, 30 Jul 2020 13:42:49 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[کلاس‌ها در ++C]]></category>
		<category><![CDATA[برنامه‌نویسی شی‌گرایی]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[آموزش ++C از مبتدی]]></category>
		<category><![CDATA[انواع توابع در زبان c]]></category>
		<category><![CDATA[زبان برنامه‌نویسی ++C]]></category>
		<category><![CDATA[کلاس Static در ++C]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[++static member function in C]]></category>
		<category><![CDATA[C++ PROGRAMMING]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[آموزش رایگان ++c]]></category>
		<category><![CDATA[توابع ++C]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31187</guid>

					<description><![CDATA[<p>با استفاده از کلیدواژه static می‌توان اعضای یک کلاس را به صورت ایستا (استاتیک) تعریف کرد. تعریف یک عضو کلاس به صورت استاتیک بدین معناست که بدون توجه به تعداد اشیا ساخته شده از کلاس، تنها یک کپی از عضو استاتیک وجود خواهد داشت. یک عضو استاتیک بین همه اشیا یک کلاس به اشتراک گذاشته خواهد شد. اگر داده‌های استاتیک صریحاً مقداردهی اولیه نشوند، هنگام ساخت اولین شی، به صفر مقداردهی اولیه می‌شوند. مقداردهی اولیه را نمی‌توان درون تعریف تابع قرار داد اما همانند مثال زیر، می‌توان مقداردهی اولیه را خارج از کلاس و با اعلان مجدد متغیر استاتیک انجام داد. در این صورت از عملگر وضوح دامنه «::» برای مشخص کردن کلاسی که متغیر به آن تعلق دارد استفاده می‌شود. مثال زیر را برای درک بهتر مفهوم داده‌های استاتیک مشاهده کنید. #include &#60;iostream&#62; using namespace std; class Box { public: static int objectCount; // Constructor definition Box(double l = &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/cpp-static-members/">اعضای استاتیک یک کلاس در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/cpp-static-members/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>اشاره‌گر به کلاس در ++C</title>
		<link>https://melec.ir/cpp-pointer-to-class/</link>
					<comments>https://melec.ir/cpp-pointer-to-class/#respond</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Thu, 30 Jul 2020 13:41:20 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[آموزش ++C از مبتدی]]></category>
		<category><![CDATA[اشاره‌گر به کلاس ++C]]></category>
		<category><![CDATA[آموزش ++C]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ به زبان ساده]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[C++ PROGRAMMING]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[اشاره‌گر ++C]]></category>
		<category><![CDATA[C++ Pointers]]></category>
		<category><![CDATA[C++ Pointer]]></category>
		<category><![CDATA[اشاره گرها]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31181</guid>

					<description><![CDATA[<p>اشاره‌گر به کلاس در ++C، دقیقاً مشابه اشاره‌گر ساختارها می‌باشد و دقیقاً به صورت مشابه،  برای دسترسی به اعضای کلاس از طریق آن، از عملگر دسترسی عضو &#60;- استفاده می‌شود. همانند همه اشاره‌گرها، باید اشاره‌گر را پیش از استفاده مقداردهی اولیه کرد. اجازه دهید با مثال زیر مفهوم اشاره‌گر به کلاس را روشن کنیم. #include &#60;iostream&#62; using namespace std; class Box { public: // Constructor definition Box(double l = 2.0, double b = 2.0, double h = 2.0) { cout &#60;&#60;"Constructor called." &#60;&#60; endl; length = l; breadth = b; height = h; } double Volume() { return length * breadth * height; } private: double length; // Length of a box double breadth; // Breadth of a box double height; // Height of a box }; int main(void) { Box Box1(3.3, 1.2, 1.5); // Declare box1 Box Box2(8.5, 6.0, 2.0); // Declare box2 Box *ptrBox; // Declare pointer to &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/cpp-pointer-to-class/">اشاره‌گر به کلاس در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/cpp-pointer-to-class/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>محصورسازی داده (Data Encapsulation) در ++C</title>
		<link>https://melec.ir/cpp-data-encapsulation/</link>
					<comments>https://melec.ir/cpp-data-encapsulation/#respond</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Thu, 30 Jul 2020 13:37:23 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[C++ Class]]></category>
		<category><![CDATA[آموزش ++C از مبتدی]]></category>
		<category><![CDATA[زبان برنامه‌نویسی ++C]]></category>
		<category><![CDATA[چکیده‌سازی داده در ++C]]></category>
		<category><![CDATA[محصورسازی داده در ++C]]></category>
		<category><![CDATA[یادگیری ++C]]></category>
		<category><![CDATA[++Data Encapsulation in C]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ از مبتدی تا پیشرفته]]></category>
		<category><![CDATA[محصورسازی]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[شی‌گرایی در ++C]]></category>
		<category><![CDATA[برنامه‌نویسی شی‌گرایی]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31272</guid>

					<description><![CDATA[<p>همه برنامه‌های ++C متشکل از عناصر بنیادین زیر هستند. دستورات برنامه (کد): بخشی از برنامه است که عملیات را انجام می‌دهد و تابع نامیده می‌شود. داده برنامه: داده اطلاعات برنامه است که توابع برنامه‌ی آن را تغییر می‌دهند. محصورسازی مفهومی ‌از برنامه‌نویسی شی‌گرا است که داده و توابع تغییردهنده داده‌ها را به هم مربوط کرده و هردوی آنها را دربرابر تداخل و سوء استفاده خارجی امن نگه می‌دارد. محصورسازی داده به یک مفهوم مهم شی‌گرایی، یعنی مخفی‌سازی داده (data hiding) منجر می‌شود. محصورسازی داده سازوکار ایجاد داده و توابع به کارگیرنده‌ی آنها، و ‌چکیده‌سازی داده سازوکار بروز دهنده رابط خارجی و مخفی سازی جزئیات از کاربر می‌باشد. ++C خواص محصورسازی و مخفی‌سازی داده را از طریق ساخت نوع داده‌های ساخته کاربر، یعنی کلاس‌ها پشتیبانی می‌کند. تا اینجا متوجه شده‌ایم که یک کلاس می‌تواند حاوی اعضای خصوصی، محافظت شده یا عمومی ‌باشد. به صورت پیش‌فرض، همه‌ی آیتم‌های تعریف شده در یک &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/cpp-data-encapsulation/">محصورسازی داده (Data Encapsulation) در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/cpp-data-encapsulation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>اورلود عملگر تخصیص در ++C</title>
		<link>https://melec.ir/assignment-operators-overloading/</link>
					<comments>https://melec.ir/assignment-operators-overloading/#respond</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Thu, 30 Jul 2020 13:24:57 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[اورلود عملگر تخصیص در ++C]]></category>
		<category><![CDATA[++Assignment Operators Overloading in C]]></category>
		<category><![CDATA[آموزش ++C]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ از مبتدی تا پیشرفته]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[C++ PROGRAMMING]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[آموزش رایگان ++c]]></category>
		<category><![CDATA[++Overloading in C]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31236</guid>

					<description><![CDATA[<p>می‌توان عملگر تخصیص (=) را همانند دیگر عملگرها اورلود کرد و همانند سازنده کپی (copy constructor) می‌توان از آن برای ایجاد یک شی جدید استفاده کرد. مثال زیر نحوه اورلود کردن عملگر تخصیص را نشان می‌دهد. #include &#60;iostream&#62; using namespace std; class Distance { private: int feet; // 0 to infinite int inches; // 0 to 12 public: // required constructors Distance() { feet = 0; inches = 0; } Distance(int f, int i) { feet = f; inches = i; } void operator = (const Distance &#38;D ) { feet = D.feet; inches = D.inches; } // method to display distance void displayDistance() { cout &#60;&#60; "F: " &#60;&#60; feet &#60;&#60; " I:" &#60;&#60; inches &#60;&#60; endl; } }; int main() { Distance D1(11, 10), D2(5, 11); cout &#60;&#60; "First Distance : "; D1.displayDistance(); cout &#60;&#60; "Second Distance :"; D2.displayDistance(); // use assignment operator D1 = D2; cout &#60;&#60; &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/assignment-operators-overloading/">اورلود عملگر تخصیص در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/assignment-operators-overloading/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>سازنده‌ها و تخریب‌کننده‌های کلاس در ++C</title>
		<link>https://melec.ir/cpp-constructor-destructor/</link>
					<comments>https://melec.ir/cpp-constructor-destructor/#respond</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Thu, 30 Jul 2020 12:46:50 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[مخرب در ++C]]></category>
		<category><![CDATA[C++ Constructor]]></category>
		<category><![CDATA[C++ Destructor]]></category>
		<category><![CDATA[آموزش ++C از مبتدی]]></category>
		<category><![CDATA[C++ PROGRAMMING]]></category>
		<category><![CDATA[آموزش ابتدایی ++C]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[زبان برنامه‌نویسی ++C]]></category>
		<category><![CDATA[آموزش رایگان ++c]]></category>
		<category><![CDATA[تابع های ++C]]></category>
		<category><![CDATA[کلاس‌ها در ++C]]></category>
		<category><![CDATA[C++ Class Constructor and Destructor]]></category>
		<category><![CDATA[سازنده در ++C]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31156</guid>

					<description><![CDATA[<p>سازنده کلاس سازنده کلاس (Constructor) یک تابع عضو ویژه از کلاس می‌باشد که هنگام ایجاد یک شی جدید از آن کلاس اجرا می‌شود. سازنده دقیقا هم‌نام کلاس می‌باشد و هیچ نوع داده‌ای (حتی void) را برنمی‌گرداند. سازنده‌ها در مقداردهی اولیه به متغیرهای عضو بسیار مفید هستند. مثال زیر مفهوم سازنده را توضیح می‌دهد. #include &#60;iostream&#62; using namespace std; class Line { public: void setLength( double len ); double getLength( void ); Line(); // This is the constructor private: double length; }; // Member functions definitions including constructor Line::Line(void) { cout &#60;&#60; "Object is being created" &#60;&#60; endl; } void Line::setLength( double len ) { length = len; } double Line::getLength( void ) { return length; } // Main function for the program int main() { Line line; // set line length line.setLength(6.0); cout &#60;&#60; "Length of line : " &#60;&#60; line.getLength() &#60;&#60;endl; return 0; } وقتی که کد فوق کامپایل &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/cpp-constructor-destructor/">سازنده‌ها و تخریب‌کننده‌های کلاس در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/cpp-constructor-destructor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>توابع عضو کلاس در ++C</title>
		<link>https://melec.ir/cpp-class-member-functions/</link>
					<comments>https://melec.ir/cpp-class-member-functions/#respond</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Thu, 30 Jul 2020 12:46:49 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[آموزش ++C]]></category>
		<category><![CDATA[C++ Class Member Functions]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ به زبان ساده]]></category>
		<category><![CDATA[برنامه‌نویسی شی‌گرا]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ از مبتدی تا پیشرفته]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[آموزش مقدماتی c++]]></category>
		<category><![CDATA[C++ PROGRAMMING]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[توابع ++C]]></category>
		<category><![CDATA[C++ Class]]></category>
		<category><![CDATA[توابع عضو کلاس در ++C]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31146</guid>

					<description><![CDATA[<p>یک تابع عضو کلاس، تابعی است که تعریف یا نمونه اولیه‌اش درون تعریف کلاس قرار دارد. این تابع در اشیا عضو آن کلاس به کار رفته و به همه اعضای آن شی دسترسی دارد. اجازه دهید از کلاسی که پیش از این تعریف کردیم اینجا نیز بهره بگیریم و به جای دسترسی مستقیم به عناصر آن، با استفاده از تابع عضو آنها را در اختیار بگیریم. class Box { public: double length; // Length of a box double breadth; // Breadth of a box double height; // Height of a box double getVolume(void);// Returns box volume }; توابع عضو را می‌توان درون تعریف کلاس، تعریف کرد و یا با استفاده عملگر وضوح دامنه (:)(scope resolution operator) آنها را جداگانه تعریف کرد. تعریف یک تابع عضو درون تعریف کلاس باعث می‌شود که تابع به صورت inline اعلان شود، حتی اگر مشخصه inline صراحتاً استفاده نشود. بنابراین، می‌توان تابع ()Volume را به &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/cpp-class-member-functions/">توابع عضو کلاس در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/cpp-class-member-functions/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>تابع سازنده کپی در ++C</title>
		<link>https://melec.ir/cpp-copy-constructor/</link>
					<comments>https://melec.ir/cpp-copy-constructor/#respond</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Thu, 30 Jul 2020 12:46:49 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[C++ PROGRAMMING]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[آموزش رایگان ++c]]></category>
		<category><![CDATA[توابع ++C]]></category>
		<category><![CDATA[آموزش ++C از مبتدی]]></category>
		<category><![CDATA[آموزش ابتدایی ++C]]></category>
		<category><![CDATA[تابع سازنده کپی در ++C]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[C++ Copy Constructor]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31162</guid>

					<description><![CDATA[<p>سازنده کپی (Copy Constructor)، سازنده‌ای است که شی جدید را با استفاده از یک شی از همان کلاس که قبلاً ساخته شده است آغاز می‌کند. سازنده کپی برای: آغاز یک شی از شی دیگر از همان نوع کپی یک شی برای ارسال آن به عنوان آرگومانی از تابع کپی یک شی برای بازگرداندن آن از یک تابع استفاده می‌شود. اگر برای یک کلاس سازنده کپی تعریف نشود، کامپایلر خودش برای آن کلاس سازنده کپی تعریف می‌کند. اگر یک کلاس دارای متغیرهای اشاره‌گر و اختصاص پویای حافظه باشد، آنگاه حتماً باید یک سازنده کپی داشته باشد. متداول‌ترین شکل سازنده کپی به صورت زیر است. classname (const classname &#38;obj) { // body of constructor } در این عبارت obj یک رفرنس به شی‌ای است که برای آغاز شی دیگر به کار می‌رود. #include &#60;iostream&#62; using namespace std; class Line { public: int getLength( void ); Line( int len ); // simple constructor &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/cpp-copy-constructor/">تابع سازنده کپی در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/cpp-copy-constructor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>مدیریت استثناها در ++C یا Exception Handling</title>
		<link>https://melec.ir/cpp-exceptions-handling/</link>
					<comments>https://melec.ir/cpp-exceptions-handling/#comments</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Thu, 30 Jul 2020 11:45:14 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[C++ Exception Handling]]></category>
		<category><![CDATA[مدیریت استثناها در ++C]]></category>
		<category><![CDATA[استثناها در ++C]]></category>
		<category><![CDATA[کنترل استثناها در ++C]]></category>
		<category><![CDATA[آموزش ++C]]></category>
		<category><![CDATA[پردازش استثناها در ++C]]></category>
		<category><![CDATA[برنامه نویسی شی گرا در ++C]]></category>
		<category><![CDATA[انواع خطا در ++C]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ از مبتدی تا پیشرفته]]></category>
		<category><![CDATA[خطایابی در ++C]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[آموزش رایگان ++c]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31292</guid>

					<description><![CDATA[<p>در این جلسه به بررسی مدیریت استثناها در ++C یا Exception Handling می‌پردازیم. یک استثنا حالتی غیرطبیعی است که ممکن است در حین اجرای یک برنامه رخ دهد. یک استثنا در ++C پاسخی است که برای یک وضعیت ویژه پیش آمده حین اجرای برنامه ، مانند تقسیم بر صفر، تدارک دیده شده است. استثناها راهی برای انتقال کنترل برنامه از یک بخش به بخش دیگر برنامه فراهم می‌کنند. استثنا در ++C با سه کلید واژه ساخته می‌شود: try ،catch و throw. Thorw: یک برنامه هنگام رخ دادن مشکل، یک استثنا پرتاب (throw) می‌کند. این کار با استفاده از کلید واژه throw انجام می‌شود. Catch: در جایی که قرار است مشکل پیش آمده مدیریت شود، با استفاده از یک کنترل کننده استثنا (exception handler)، یک استثنا گرفته می‌شود. Try: بلوک try بلوک کدی، که ممکن است استثنای مشخصی در آن رخ دهد را شناسایی می‌کند. به دنبال این بلوک یک یا &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/cpp-exceptions-handling/">مدیریت استثناها در ++C یا Exception Handling</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/cpp-exceptions-handling/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>فایل‌ها و استریم‌ها در ++C</title>
		<link>https://melec.ir/cpp-files-streams/</link>
					<comments>https://melec.ir/cpp-files-streams/#respond</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Thu, 30 Jul 2020 11:41:29 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[فایل ها در ++C]]></category>
		<category><![CDATA[C++ files]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ از مبتدی تا پیشرفته]]></category>
		<category><![CDATA[C++ streams]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[آموزش رایگان ++c]]></category>
		<category><![CDATA[استریم‌ها در ++C]]></category>
		<category><![CDATA[برنامه‌نویسی شی‌گرایی]]></category>
		<category><![CDATA[آموزش ++C از مبتدی]]></category>
		<category><![CDATA[زبان برنامه‌نویسی ++C]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31284</guid>

					<description><![CDATA[<p>تا اینجا از کتابخانه‌ی استاندارد iostream استفاده می‌کردیم، که متدهای cin و cout را به ترتیب برای خواندن از ورودی استاندارد و نوشتن در خروجی استاندارد به کار می‌برد. این آموزش به شما نحوه خواندن و نوشتن در فایل‌ها را نشان خواهد داد. برای اینکار به یک کتابخانه استاندارد از ++C به نام fstream نیاز داریم که سه نوع داده جدید تعریف می‌کند. ردیف نوع داده و توصیف آن 1 ofstream این نوع داده استریم فایل خروجی را معرفی می‌کند و برای ساخت فایل‌ها و نوشتن در آنها استفاده می‌شود. 2 ifstream این نوع داده  استریم فایل ورودی را معرفی کرده و برای خواندن اطلاعات از فایل‌ها استفاده می‌شود. 3 fstream این نوع داده استریم فایل عمومی ‌را معرفی می‌کند و قابلیت‌های ofstream و ifstream را همزمان پشتیبانی می‌کند، یعنی می‌تواند فایل ایجاد کرده، اطلاعات در فایل‌ها بنویسد و از آنها اطلاعات بخواند. برای پردازش فایل‌ها در ++C، باید هدرفایل‌های &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/cpp-files-streams/">فایل‌ها و استریم‌ها در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/cpp-files-streams/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>اینترفیس‌ها در ++C (کلاس‌های انتزاعی)</title>
		<link>https://melec.ir/cpp-interfaces/</link>
					<comments>https://melec.ir/cpp-interfaces/#respond</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Thu, 30 Jul 2020 11:35:14 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[کلاس‌ها در ++C]]></category>
		<category><![CDATA[شی‌گرایی در ++C]]></category>
		<category><![CDATA[برنامه‌نویسی شی‌گرایی]]></category>
		<category><![CDATA[C++ Class]]></category>
		<category><![CDATA[آموزش ابتدایی ++C]]></category>
		<category><![CDATA[اینترفیس]]></category>
		<category><![CDATA[زبان برنامه‌نویسی ++C]]></category>
		<category><![CDATA[اینترفیس‌ها در ++C]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ از مبتدی تا پیشرفته]]></category>
		<category><![CDATA[++Interfaces in C]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[کلاس انتزاعی در ++C]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31277</guid>

					<description><![CDATA[<p>یک اینترفیس (interface) رفتار یا قابلیت‌های یک کلاس ++C را بدون درنظرگرفتن هیچ نوع پیاده‌سازی برای آن توصیف می‌کند. اینترفیس‌های ++C با استفاده از کلاس‌های انتزاعی (abstract class) پیاده می‌شوند. این کلاس‌های انتزاعی را نباید با مفهوم ‌چکیده‌سازی که برای جداسازی جزئیات پیاده‌سازی از داده‌ها به کار رفت اشتباه بگیریم. یک کلاس را می‌توان با اعلان حداقل یک تابع مجازی محض در آن، انتزاعی کرد. یک تابع مجازی با قرادادن «0=» در هنگام اعلان آن مشخص می‌شود. class Box { public: // pure virtual function virtual double getVolume() = 0; private: double length; // Length of a box double breadth; // Breadth of a box double height; // Height of a box }; هدف از ایجاد کلاس انتزاعی (معمولاً با ABC مشخص می‌شود)، ایجاد یک کلاس پایه مناسب است تا دیگر کلاس‌ها از آن ارث ببرند. نمی‌توان از کلاس‌های انتزاعی شی نمونه گرفت و تنها به عنوان اینترفیس عمل می‌کنند. &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/cpp-interfaces/">اینترفیس‌ها در ++C (کلاس‌های انتزاعی)</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/cpp-interfaces/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>انتزاع داده (Data Abstraction) در ++C</title>
		<link>https://melec.ir/cpp-data-abstraction/</link>
					<comments>https://melec.ir/cpp-data-abstraction/#respond</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Thu, 30 Jul 2020 11:29:57 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[++Data Abstraction in C]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ از مبتدی تا پیشرفته]]></category>
		<category><![CDATA[چکیده‌سازی داده در ++C]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[چکیده‌سازی]]></category>
		<category><![CDATA[برنامه‌نویسی]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[آموزش رایگان ++c]]></category>
		<category><![CDATA[کلاس‌ها در ++C]]></category>
		<category><![CDATA[برنامه‌نویسی شی‌گرایی]]></category>
		<category><![CDATA[آموزش ابتدایی ++C]]></category>
		<category><![CDATA[زبان برنامه‌نویسی ++C]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31266</guid>

					<description><![CDATA[<p>منظور از چکیده‌سازی داده فراهم کردن حداقل اطلاعات برای دنیای خارج و مخفی‌سازی جزئیات پس زمینه است، یعنی اطلاعات مورد نیاز بدون ارائه جزئیات نمایش داده می‌شود. چکیده‌سازی داده یک تکنیک برنامه‌نویسی و طراحی است که مبتنی بر جداسازی رابط میانجی (interface) از پیاده‌سازی (implementation) می‌باشد. اجازه دهید با یک مثال از زندگی واقعی ادامه دهیم، یک تلویزیون را تصور کنید که می‌توان آن را روشن یا خاموش کرد، کانال را عوض کرد، صدا را تنظیم کرده و اجزای خارجی مانند بلندگو، VCR و پخش کننده DVD را به آن متصل کرد، اما شما از جزئیات درونی آن هیچ اطلاعی ندارید، یعنی اطلاع ندارید که چگونه سیگنال‌ها را از کابل یا هوا دریافت کرده، چگونه این سیگنال‌ها را منتقل می‌کند و در نهایت بر روی صفحه نمایش می‌دهد. بنابراین، می‌توان گفت که تلویزیون به وضوح پیاده‌سازی داخلی‌اش را از رابط خروجی‌اش جدا کرده و شما قادر هستید از رابط آن &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/cpp-data-abstraction/">انتزاع داده (Data Abstraction) در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/cpp-data-abstraction/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>چندریختی یا Polymorphism در ++C</title>
		<link>https://melec.ir/cpp-polymorphism/</link>
					<comments>https://melec.ir/cpp-polymorphism/#comments</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Thu, 30 Jul 2020 11:20:11 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[C++ PROGRAMMING]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[آموزش ++C از مبتدی]]></category>
		<category><![CDATA[C++ Functions]]></category>
		<category><![CDATA[چندریختی در ++C]]></category>
		<category><![CDATA[Polymorphism در ++C]]></category>
		<category><![CDATA[آموزش ++C]]></category>
		<category><![CDATA[مفهوم چند ریختی در ++C]]></category>
		<category><![CDATA[برنامه نویسی شی گرا در ++C]]></category>
		<category><![CDATA[مفهوم چند ریختی در سی پلاس پلاس]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ از مبتدی تا پیشرفته]]></category>
		<category><![CDATA[مثال چند ریختی در ++C]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31261</guid>

					<description><![CDATA[<p>یک موضوع مهم در برنامه نویسی Polymorphism است و در این جلسه ما به بررسی  چندریختی یا Polymorphism در ++C خواهیم پرداخت. واژه چندریختی به معنی داشتن چندین صورت است. معمولاً، چندریختی در شرایطی اتفاق می‌افتد که زنجیره‌ای از کلاس‌ها از طریق وراثت به هم مربوط شده‌اند. چندریختی در ++C یعنی اینکه  فراخوانی یک تابع عضو، بسته به نوع شی فراخواننده آن، می‌تواند منجر به اجرای توابع مختلفی شود. مثال زیر را درنظر بگیرید که در آن دو کلاس از یک کلاس پایه مشتق شده‌اند. #include &#60;iostream&#62; using namespace std; class Shape { protected: int width, height; public: Shape( int a = 0, int b = 0){ width = a; height = b; } int area() { cout &#60;&#60; "Parent class area :" &#60;&#60;endl; return 0; } }; class Rectangle: public Shape { public: Rectangle( int a = 0, int b = 0):Shape(a, b) { } int area () { &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/cpp-polymorphism/">چندریختی یا Polymorphism در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/cpp-polymorphism/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>اورلود کردن عملگر فراخوانی تابع () در ++C</title>
		<link>https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1-%d9%81%d8%b1%d8%a7%d8%ae%d9%88%d8%a7%d9%86%db%8c-%d8%aa%d8%a7%d8%a8%d8%b9-%d8%af%d8%b1-cpp/</link>
					<comments>https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1-%d9%81%d8%b1%d8%a7%d8%ae%d9%88%d8%a7%d9%86%db%8c-%d8%aa%d8%a7%d8%a8%d8%b9-%d8%af%d8%b1-cpp/#respond</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Thu, 30 Jul 2020 07:28:42 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[C++ Functions]]></category>
		<category><![CDATA[C++ operator]]></category>
		<category><![CDATA[++Overloading in C]]></category>
		<category><![CDATA[آموزش c++ رایگان]]></category>
		<category><![CDATA[++Call Operator () Overloading in C]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ از مبتدی تا پیشرفته]]></category>
		<category><![CDATA[اورلود کردن عملگر فراخوانی تابع () در ++C]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[Overload عملگر ++C]]></category>
		<category><![CDATA[Overload کردن عملگر در ++C]]></category>
		<category><![CDATA[C++ PROGRAMMING]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[اورلود عملگرها در ++C]]></category>
		<category><![CDATA[آموزش ++C از مبتدی]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31242</guid>

					<description><![CDATA[<p>عملگر فراخوانی تابع () را می‌توان برای اشیا آن کلاس اورلود کرد. با اورلود کردن عملگر ()، راه جدیدی برای فراخوانی تابع ایجاد نمی‌کنید، بلکه یک تابع عملگر ایجاد خواهید کرد که می‌توان تعداد دلخواهی پارامتر به آن ارسال کرد. مثال زیر نحوه اورلود کردن عملگر فراخوانی () را نشان می‌دهد. #include &#60;iostream&#62; using namespace std; class Distance { private: int feet; // 0 to infinite int inches; // 0 to 12 public: // required constructors Distance() { feet = 0; inches = 0; } Distance(int f, int i) { feet = f; inches = i; } // overload function call Distance operator()(int a, int b, int c) { Distance D; // just put random calculation D.feet = a + c + 10; D.inches = b + c + 100 ; return D; } // method to display distance void displayDistance() { cout &#60;&#60; "F: " &#60;&#60; feet &#60;&#60; " &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1-%d9%81%d8%b1%d8%a7%d8%ae%d9%88%d8%a7%d9%86%db%8c-%d8%aa%d8%a7%d8%a8%d8%b9-%d8%af%d8%b1-cpp/">اورلود کردن عملگر فراخوانی تابع () در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1-%d9%81%d8%b1%d8%a7%d8%ae%d9%88%d8%a7%d9%86%db%8c-%d8%aa%d8%a7%d8%a8%d8%b9-%d8%af%d8%b1-cpp/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>اورلود کردن عملگر ایندکس در ++C</title>
		<link>https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1-%d8%a7%db%8c%d9%86%d8%af%da%a9%d8%b3-%d8%af%d8%b1-cpp/</link>
					<comments>https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1-%d8%a7%db%8c%d9%86%d8%af%da%a9%d8%b3-%d8%af%d8%b1-cpp/#respond</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Thu, 30 Jul 2020 07:28:12 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[++Subscripting [] Operator Overloading in C]]></category>
		<category><![CDATA[اورلود کردن عملگر ایندکس در ++C]]></category>
		<category><![CDATA[C++ PROGRAMMING]]></category>
		<category><![CDATA[انواع عملگرها در ++C]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[اورلود عملگرها در ++C]]></category>
		<category><![CDATA[C++ Functions]]></category>
		<category><![CDATA[C++ operator]]></category>
		<category><![CDATA[++Overloading in C]]></category>
		<category><![CDATA[آموزش ++C]]></category>
		<category><![CDATA[Overload عملگر ++C]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ از مبتدی تا پیشرفته]]></category>
		<category><![CDATA[Overload کردن عملگر در ++C]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31246</guid>

					<description><![CDATA[<p>عملگر ایندکس معمولاً برای دسترسی به عناصر یک آرایه استفاده می‌شود. این عملگر را می‌توان برای بهبود کارایی آرایه‌های ++C اورلود کرد. مثال زیر نحوه اورلود این عملگر را نشان می‌دهد. #include &#60;iostream&#62; using namespace std; const int SIZE = 10; class safearay { private: int arr[SIZE]; public: safearay() { register int i; for(i = 0; i &#60; SIZE; i++) { arr[i] = i; } } int &#38;operator[](int i) { if( i &#62; SIZE ) { cout &#60;&#60; "Index out of bounds" &#60;&#60;endl; // return first element. return arr[0]; } return arr[i]; } }; int main() { safearay A; cout &#60;&#60; "Value of A[2] : " &#60;&#60; A[2] &#60;&#60;endl; cout &#60;&#60; "Value of A[5] : " &#60;&#60; A[5]&#60;&#60;endl; cout &#60;&#60; "Value of A[12] : " &#60;&#60; A[12]&#60;&#60;endl; return 0; } خروجی زیر از اجرای کد فوق حاصل شده است. Value of A[2] : 2 Value of A[5] : 5 Index &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1-%d8%a7%db%8c%d9%86%d8%af%da%a9%d8%b3-%d8%af%d8%b1-cpp/">اورلود کردن عملگر ایندکس در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1-%d8%a7%db%8c%d9%86%d8%af%da%a9%d8%b3-%d8%af%d8%b1-cpp/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>اورلود کردن عملگر دسترسی کلاس (-&gt;)  در ++C</title>
		<link>https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1-%d8%af%d8%b3%d8%aa%d8%b1%d8%b3%db%8c-%da%a9%d9%84%d8%a7%d8%b3-%e2%80%92cpp/</link>
					<comments>https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1-%d8%af%d8%b3%d8%aa%d8%b1%d8%b3%db%8c-%da%a9%d9%84%d8%a7%d8%b3-%e2%80%92cpp/#respond</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Thu, 30 Jul 2020 07:26:45 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[آموزش ++C از مبتدی]]></category>
		<category><![CDATA[عملگرها در ++C]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[Overload عملگر ++C]]></category>
		<category><![CDATA[Overload کردن عملگر در ++C]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ از مبتدی تا پیشرفته]]></category>
		<category><![CDATA[Overload عملگر دسترسی کلاس در ++C]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[Class Member Access Operator]]></category>
		<category><![CDATA[C++ PROGRAMMING]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[آموزش رایگان ++c]]></category>
		<category><![CDATA[اورلود عملگرها در ++C]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31249</guid>

					<description><![CDATA[<p>عملگر دسترسی کلاس (&#60;‒­­) را می‌توان با احتیاط بیشتر اورلود کرد. این عملگر تعریف می‌شود تا به کلاس، رفتاری شبیه یک اشاره‌گر اعطا کند. عملگر &#60;‒ باید یک تابع عضو باشد. در صورت استفاده، نوع داده بازگشتی آن باید اشاره‌گری به یک شی از همان کلاسی باشد که عملگر به آن اشاره می‌کند. عملگر &#60;‒ اغلب همراه با عملگر درفرنس اشاره‌گر (pointer-dereference) * ، برای پیاده سازی «اشاره‌گرهای هوشمند» (smart pointers) به کار می‌رود. این اشاره‌گرها اشیایی هستند که همانند اشیا معمولی رفتار می‌کنند با این تفاوت که هنگام دسترسی به یک شی از طریق آنها، عملیات دیگری نیز انجام می‌گیرد، مانند حذف خودکار شی هنگام تخریب اشاره‌گر یا هنگامی‌ که اشاره‌گر به شی دیگر منتقل می‌شود. عملگر درفرنس &#60;‒ را می‌توان به صورت یک عملگر یگانی پسوندی (postfix) تعریف کرد. یعنی، با داشتن کلاس. class Ptr { //... X * operator-&#62;(); }; از اشیا کلاس Ptr می‌توان برای دسترسی &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1-%d8%af%d8%b3%d8%aa%d8%b1%d8%b3%db%8c-%da%a9%d9%84%d8%a7%d8%b3-%e2%80%92cpp/">اورلود کردن عملگر دسترسی کلاس (-&gt;)  در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1-%d8%af%d8%b3%d8%aa%d8%b1%d8%b3%db%8c-%da%a9%d9%84%d8%a7%d8%b3-%e2%80%92cpp/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>اورلود کردن عملگرهای ورودی/خروجی در ++C</title>
		<link>https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1%d9%87%d8%a7%db%8c-%d9%88%d8%b1%d9%88%d8%af%db%8c-%d8%ae%d8%b1%d9%88%d8%ac%db%8c-%d8%af%d8%b1-cpp/</link>
					<comments>https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1%d9%87%d8%a7%db%8c-%d9%88%d8%b1%d9%88%d8%af%db%8c-%d8%ae%d8%b1%d9%88%d8%ac%db%8c-%d8%af%d8%b1-cpp/#respond</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Thu, 30 Jul 2020 07:22:33 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[اورلود کردن عملگر ورودی و خروجی]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[Input/Output Operators Overloading in C++]]></category>
		<category><![CDATA[C++ PROGRAMMING]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[استریم‌ها در ++C]]></category>
		<category><![CDATA[C++ Overloading]]></category>
		<category><![CDATA[آموزش ++C از مبتدی]]></category>
		<category><![CDATA[آموزش ابتدایی ++C]]></category>
		<category><![CDATA[عملگرها در ++C]]></category>
		<category><![CDATA[C++ operator]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31209</guid>

					<description><![CDATA[<p>در ++C می‌توان نوع داده‌های داخلی را با استفاده از عملگر استخراج استریم &#60;&#60; وارد کرد و یا با استفاده از درج استریم &#62;&#62; به خارج ارسال کرد. عملگرهای درج استریم و استخراج استریم را می‌توان برای وارد و خارج کردن نوع داده‌های تعریف شده کاربر، مانند اشیا، اورلود کرد. مهم است که تابع اورلود کننده عملگر را به عنوان دوست کلاس تعریف کرد زیرا بدون ایجاد یک شی فراخوانی می‌شود. مثال زیر نحوه اورلود کردن عملگر استخراج &#60;&#60; و عملگر درج &#62;&#62; را نشان می‌دهد. #include &#60;iostream&#62; using namespace std; class Distance { private: int feet; // 0 to infinite int inches; // 0 to 12 public: // required constructors Distance() { feet = 0; inches = 0; } Distance(int f, int i) { feet = f; inches = i; } friend ostream &#38;operator&#60;&#60;( ostream &#38;output, const Distance &#38;D ) { output &#60;&#60; "F : " &#60;&#60; D.feet &#60;&#60; &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1%d9%87%d8%a7%db%8c-%d9%88%d8%b1%d9%88%d8%af%db%8c-%d8%ae%d8%b1%d9%88%d8%ac%db%8c-%d8%af%d8%b1-cpp/">اورلود کردن عملگرهای ورودی/خروجی در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1%d9%87%d8%a7%db%8c-%d9%88%d8%b1%d9%88%d8%af%db%8c-%d8%ae%d8%b1%d9%88%d8%ac%db%8c-%d8%af%d8%b1-cpp/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>اورلود کردن عملگرهای رابطه‌ای در ++C</title>
		<link>https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1%d9%87%d8%a7%db%8c-%d8%b1%d8%a7%d8%a8%d8%b7%d9%87%e2%80%8c%d8%a7%db%8c-%d8%af%d8%b1-cpp/</link>
					<comments>https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1%d9%87%d8%a7%db%8c-%d8%b1%d8%a7%d8%a8%d8%b7%d9%87%e2%80%8c%d8%a7%db%8c-%d8%af%d8%b1-cpp/#respond</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Thu, 30 Jul 2020 07:21:07 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[C++ PROGRAMMING]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[C++ Overloading]]></category>
		<category><![CDATA[آموزش ++C از مبتدی]]></category>
		<category><![CDATA[آموزش ابتدایی ++C]]></category>
		<category><![CDATA[عملگرها در ++C]]></category>
		<category><![CDATA[عملگر رابطه‌ای در ++C]]></category>
		<category><![CDATA[C++ operator]]></category>
		<category><![CDATA[++Relational Operators Overloading in C]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31204</guid>

					<description><![CDATA[<p>زبان ++C از عملگرهای رابطه‌ای متعددی (&#60;, &#62;, =&#60;, =&#62;, ==,…) پشتیبانی می‌کند. این عملگرها برای مقایسه نوع داده‌های داخلی در ++C به کار می روند. می‌توان هرکدام از این عملگرها را اورلود کرد تا برای مقایسه‌ی اشیا یک کلاس هم قابل استفاده باشند. مثال زیر نحوه اورلود کردن عملگر &#62; را نشان می‌دهد. به طریق مشابه می‌توان دیگر عملگرهای رابطه‌ای را نیز اورلود کرد. #include &#60;iostream&#62; using namespace std; class Distance { private: int feet; // 0 to infinite int inches; // 0 to 12 public: // required constructors Distance() { feet = 0; inches = 0; } Distance(int f, int i) { feet = f; inches = i; } // method to display distance void displayDistance() { cout &#60;&#60; "F: " &#60;&#60; feet &#60;&#60; " I:" &#60;&#60; inches &#60;&#60;endl; } // overloaded minus (-) operator Distance operator- () { feet = -feet; inches = -inches; return Distance(feet, inches); &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1%d9%87%d8%a7%db%8c-%d8%b1%d8%a7%d8%a8%d8%b7%d9%87%e2%80%8c%d8%a7%db%8c-%d8%af%d8%b1-cpp/">اورلود کردن عملگرهای رابطه‌ای در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1%d9%87%d8%a7%db%8c-%d8%b1%d8%a7%d8%a8%d8%b7%d9%87%e2%80%8c%d8%a7%db%8c-%d8%af%d8%b1-cpp/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>اورلود کردن عملگرهای باینری در ++C</title>
		<link>https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1%d9%87%d8%a7%db%8c-%d8%a8%d8%a7%db%8c%d9%86%d8%b1%db%8c-%d8%af%d8%b1-cpp/</link>
					<comments>https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1%d9%87%d8%a7%db%8c-%d8%a8%d8%a7%db%8c%d9%86%d8%b1%db%8c-%d8%af%d8%b1-cpp/#respond</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Thu, 30 Jul 2020 07:18:04 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[C++ PROGRAMMING]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[C++ Overloading]]></category>
		<category><![CDATA[آموزش ++C از مبتدی]]></category>
		<category><![CDATA[آموزش ابتدایی ++C]]></category>
		<category><![CDATA[عملگرها در ++C]]></category>
		<category><![CDATA[عملگر باینری در ++C]]></category>
		<category><![CDATA[++Binary Operators Overloading in C]]></category>
		<category><![CDATA[اورلود کردن عملگر باینری در ++C]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31200</guid>

					<description><![CDATA[<p>عملگرهای باینری دو آرگومان دریافت می‌کنند. مثال‌های زیر از عملگرهای باینری استفاده می کنند. از عملگرهای باینری مانند عملگر جمع (+)، تفریق (-) و تقسیم (/) به وفور استفاده می‌شود. مثال‌های زیر نحوه اورلود کردن عملگر جمع (+) را نشان می‌دهد. به طریق مشابه، می‌توان عملگرهای تفریق (-) و تقسیم (/) را نیز اورلود کرد. #include &#60;iostream&#62; using namespace std; class Box { double length; // Length of a box double breadth; // Breadth of a box double height; // Height of a box public: double getVolume(void) { return length * breadth * height; } void setLength( double len ) { length = len; } void setBreadth( double bre ) { breadth = bre; } void setHeight( double hei ) { height = hei; } // Overload + operator to add two Box objects. Box operator+(const Box&#38; b) { Box box; box.length = this-&#62;length + b.length; box.breadth = this-&#62;breadth + &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1%d9%87%d8%a7%db%8c-%d8%a8%d8%a7%db%8c%d9%86%d8%b1%db%8c-%d8%af%d8%b1-cpp/">اورلود کردن عملگرهای باینری در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1%d9%87%d8%a7%db%8c-%d8%a8%d8%a7%db%8c%d9%86%d8%b1%db%8c-%d8%af%d8%b1-cpp/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>اورلود کردن عملگرهای یگانی در ++C</title>
		<link>https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1%d9%87%d8%a7%db%8c-%db%8c%da%af%d8%a7%d9%86%db%8c-%d8%af%d8%b1-c/</link>
					<comments>https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1%d9%87%d8%a7%db%8c-%db%8c%da%af%d8%a7%d9%86%db%8c-%d8%af%d8%b1-c/#respond</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Thu, 30 Jul 2020 07:10:55 +0000</pubDate>
				<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[C++ Overloading]]></category>
		<category><![CDATA[آموزش ++C از مبتدی]]></category>
		<category><![CDATA[آموزش ابتدایی ++C]]></category>
		<category><![CDATA[++Unary Operators Overloading in C]]></category>
		<category><![CDATA[اورلود کردن عملگر یگانی در ++C]]></category>
		<category><![CDATA[عملگرها در ++C]]></category>
		<category><![CDATA[عملگر یگانی در ++C]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[C++ PROGRAMMING]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31193</guid>

					<description><![CDATA[<p>عملگرهای یگانی روی یک عملوند کار می‌کنند. مثال‌های زیر نمونه‌ای از عملگرهای یگانی هستند. عملگر افزایش (++) و کاهش (- -) عملگر یگانی منفی (-) عملگر منطقی نفی (!) عملگرهای یگانی روی اشیا نیز کار می‌کنند و در حالت نرمال، عملگر در سمت چپ شی قرار می‌گیرد، مانند obj ،-obj ،++obj!، اما می‌توان این عملگرها را به صورت پسوندی نیز استفاده کرد مانند: ++obj و &#8211; -obj. مثال زیر نحوه اورلود کردن عملگر منفی (-) به صورت پیشوندی و پسوندی را نشان می دهد. #include &#60;iostream&#62; using namespace std; class Distance { private: int feet; // 0 to infinite int inches; // 0 to 12 public: // required constructors Distance() { feet = 0; inches = 0; } Distance(int f, int i) { feet = f; inches = i; } // method to display distance void displayDistance() { cout &#60;&#60; "F: " &#60;&#60; feet &#60;&#60; " I:" &#60;&#60; inches &#60;&#60;endl; &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1%d9%87%d8%a7%db%8c-%db%8c%da%af%d8%a7%d9%86%db%8c-%d8%af%d8%b1-c/">اورلود کردن عملگرهای یگانی در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/%d8%a7%d9%88%d8%b1%d9%84%d9%88%d8%af-%da%a9%d8%b1%d8%af%d9%86-%d8%b9%d9%85%d9%84%da%af%d8%b1%d9%87%d8%a7%db%8c-%db%8c%da%af%d8%a7%d9%86%db%8c-%d8%af%d8%b1-c/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>اشاره‌گر this در ++C</title>
		<link>https://melec.ir/%d8%a7%d8%b4%d8%a7%d8%b1%d9%87%e2%80%8c%da%af%d8%b1-this-%d8%af%d8%b1-c/</link>
					<comments>https://melec.ir/%d8%a7%d8%b4%d8%a7%d8%b1%d9%87%e2%80%8c%da%af%d8%b1-this-%d8%af%d8%b1-c/#respond</comments>
		
		<dc:creator><![CDATA[احسان پناهی]]></dc:creator>
		<pubDate>Thu, 23 Jul 2020 06:40:38 +0000</pubDate>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[آموزش زبان ++C]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ از مبتدی تا پیشرفته]]></category>
		<category><![CDATA[آموزش گام به گام برنامه نویسی به زبان ++c]]></category>
		<category><![CDATA[C++ PROGRAMMING]]></category>
		<category><![CDATA[c++ programming language]]></category>
		<category><![CDATA[تابع های ++C]]></category>
		<category><![CDATA[توابع ++C]]></category>
		<category><![CDATA[آموزش ابتدایی ++C]]></category>
		<category><![CDATA[C++ this Pointer]]></category>
		<category><![CDATA[اشاره‌گر this در ++C]]></category>
		<category><![CDATA[آموزش برنامه نویسی c++ به زبان ساده]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31176</guid>

					<description><![CDATA[<p>در این جلسه به بررسی اشاره‌گر this در ++C میپردازیم. هر شی در ++C از طریق یک اشاره‌گر مهم به نام this، به آدرس خودش دسترسی دارد. اشاره‌گر this یک پارامتر ضمنی برای همه توابع عضو شی می‌باشد. بنابراین، درون یک تابع عضو، از this برای اشاره  به شی می‌توان استفاده کرد. توابع دوست، اشاره‌گر this ندارند، زیرا این توابع، عضو کلاس محسوب نمی‌شوند، تنها توابع عضو هستند که دارای اشاره‌گر this می‌باشند. مثال زیر را برای درک بهتر مفهوم اشاره‌گر this مشاهده کنید. #include &#60;iostream&#62; using namespace std; class Box { public: // Constructor definition Box(double l = 2.0, double b = 2.0, double h = 2.0) { cout &#60;&#60;"Constructor called." &#60;&#60; endl; length = l; breadth = b; height = h; } double Volume() { return length * breadth * height; } int compare(Box box) { return this-&#62;Volume() &#62; box.Volume(); } private: double length; // Length of a &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/%d8%a7%d8%b4%d8%a7%d8%b1%d9%87%e2%80%8c%da%af%d8%b1-this-%d8%af%d8%b1-c/">اشاره‌گر this در ++C</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/%d8%a7%d8%b4%d8%a7%d8%b1%d9%87%e2%80%8c%da%af%d8%b1-this-%d8%af%d8%b1-c/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<series:name><![CDATA[cpp programming language]]></series:name>
	</item>
		<item>
		<title>آموزش کار با Atmel Studio</title>
		<link>https://melec.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%da%a9%d8%a7%d8%b1-%d8%a8%d8%a7-atmel-studio/</link>
					<comments>https://melec.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%da%a9%d8%a7%d8%b1-%d8%a8%d8%a7-atmel-studio/#comments</comments>
		
		<dc:creator><![CDATA[سارا زارعی]]></dc:creator>
		<pubDate>Thu, 23 Jul 2020 06:26:28 +0000</pubDate>
				<category><![CDATA[آموزش نرم افزارهای الکترونیک]]></category>
		<category><![CDATA[مطالب آموزشی AVR]]></category>
		<category><![CDATA[دانلود Atmel Studio]]></category>
		<category><![CDATA[آموزش نصب Atmel Studio]]></category>
		<category><![CDATA[avr]]></category>
		<category><![CDATA[میکروکنترلر Atmega16]]></category>
		<category><![CDATA[میکروکنترلر]]></category>
		<category><![CDATA[آموزش برنامه نویسی AVR]]></category>
		<category><![CDATA[آموزش میکروکنترلر]]></category>
		<category><![CDATA[آموزش avr studio pdf]]></category>
		<category><![CDATA[آموزش AVR]]></category>
		<category><![CDATA[آموزش فارسی atmel studio]]></category>
		<category><![CDATA[فیلم آموزش atmel studio]]></category>
		<category><![CDATA[شبیه ساز atmel studio]]></category>
		<category><![CDATA[آموزش الکترونیک پایه]]></category>
		<category><![CDATA[راه اندازی lcd کاراکتری با atmel studio]]></category>
		<category><![CDATA[آموزش الکترونیک به زبان ساده]]></category>
		<category><![CDATA[نرم‌افزار Atmel Studio]]></category>
		<category><![CDATA[اتمل استودیو]]></category>
		<guid isPermaLink="false">https://melec.ir/?p=31501</guid>

					<description><![CDATA[<p>در این جلسه به آموزش کار با Atmel Studio خواهیم پرداخت. استفاده از میکروکنترلرهای AVR که از خانواده‌ی میکرو (MCUs)‌های Atmel هستند، بسیار ساده است. برای کار با تمام میکروهای این خانواده ابتدائاً به یک محیط توسعه یا IDE مانند همین نرم‌افزار Atmel Studio نیاز داریم. در حقیقت با استفاده از IDE‌ها می‌توانیم برنامه بنویسیم، آن را کامپایل و دیباگ کنیم و در نهایت روی میکروکنترلر بریزیم. Atmel Studio به صورت رایگان برای همگان قابل دانلود و استفاده است. اگر از قبل آن را ندارید می‌توانید از این لینک دانلود کنید. نکته: برای دانلود و نصب این نرم‌افزار دو روش آنلاین و آفلاین وجود دارد. توصیه‌ی خود شرکت سازنده استفاده از روشن آنلاین است بنابراین در صورتی که می‌توانید حتی‌الامکان از این روش استفاده کنید. در این آموزش ما از نسخه‌ی 7 این نرم‌افزار استفاده می‌کنیم. نسخه‌ی IDE موجود برای کار با میکروی Atmega16 است. این نسخه دارای کامپایلرهای GCC &#8230;</p>
<p>برای مشاهده این مطلب بصورت کامل روی لینک زیر کلیک کنید:<br />
<a href="https://melec.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%da%a9%d8%a7%d8%b1-%d8%a8%d8%a7-atmel-studio/">آموزش کار با Atmel Studio</a></p>
]]></description>
		
					<wfw:commentRss>https://melec.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%da%a9%d8%a7%d8%b1-%d8%a8%d8%a7-atmel-studio/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
	</channel>
</rss>
