#70#class
#struct
#call #by #value
#call #by #reference
✅ فراخوانی struct ها به صورت call by value انجام میشه که نیاز به & هست ولی فراخوانی class ها به صورت call by reference صورت میگیره یعنی :
#include "stdafx.h"
#include <iostream>
using namespace std;
🔹تعریف struct که برای مقدار دادن به داده هاش باید & توی تابع set_data گذاشت :
struct d
{int x;
int y;
int z;
void set_data(struct d &w, int x, int y, int z);
void show(struct d a);
};
void set_data(struct d &w, int x, int y, int z)
{w.x = x;
w.y = y;
w.z = z;
}
void show(struct d a)
{cout << a.x << " " << a.y << " " << a.z;
}
int main()
{ d a{};set_data(a, 2, 3, 4);
show(a);
cout << endl;
system("pause");return 0;
}
🔹تعریف class که برای مقدار دادن به داده هاش نیازی به استفاده از & نیست :
class test
{public:
void set(int a, int b, int c)
{x = a;
y = b;
z = c;
}
void show()
{cout << x << " " << y << " " << z;
}
private:
int x, y, z;
};
int main()
{test t;
t.set(10, 20, 30);
t.show();
cout << endl;
system("pause");return 0;
}
@Learncpp
#93#struct #ساختار #object #شی
#class #variable #متغییر
✅ چرا توی کلاسها برای صدا زدن توابع باید به صورت class.funct() صدا زده بشه ولی توی struct فقط اسم تابع صدا زده میشه ؟
🔹در جوابش فرض کنیم ما یک struct داریم به نام course و یک کلاس داریم به اسم unit , خب تفاوتی که دارن در نحوه تعریفشونه یعنی course a; با unit b; ??? وقتی ما course a; رو تعریف کردیم کامپایلر course رو به عنوان یک نوع (type) در نظر میگیره و a رو ب عنوان یک متغییر پس برای دسترسی به داده های struct نیازی به نقطه (.) نیست ولی وقتی ما تعریف میکنیم unit b; کامپایلر unit رو به عنوان یک کلاس در نظر میگیره و b روی به عنوان یک شی و برای صدا زدن توابع عضو کلاس باید با نقطه (.) بهشون دسترسی پیدا کنیم .
برای درک مطلب کد زیر رو در نظر بگیریم :
#include "stdafx.h"
#include<iostream>
using namespace std;
struct course
{int a = 0;
int b = 0;
int c = 0;
};
class unit
{public:
void set()
{cout << "@Learncpp\n";
}
};
void set(course &v, int _a, int _b, int _c)
{v.a = _a;
v.b = _b;
v.c = _c;
}
int main()
{course c1;//c1 یک متغیر است
unit u1;//u1 یک شی است
set(c1, 1, 2, 3);
c1.set(c1, 1, 2, 3);//error
cout << c1.a << " " << c1.b << " " << c1.c << endl;
u1.set(); //***//
cout << endl;
system("pause");return 0;
}
@Learncpp
#ctime #time.h #struct_tm #struct_time
🔵زمان (time)
🔹تابع Struct tm
این ساختار مقادیر استاندارد زمان را داخل خودش دارد و داخل چندین تابع مجبوریم از آن استفاده کنیم.
البته همه ی این مقادیر جدا از هم هستند.
این ساختار 9 عضو دارد که از این قرار
(t.me/Learncpp/1377)
هستند.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
🔵زمان (time)
🔹تابع Struct tm
این ساختار مقادیر استاندارد زمان را داخل خودش دارد و داخل چندین تابع مجبوریم از آن استفاده کنیم.
البته همه ی این مقادیر جدا از هم هستند.
این ساختار 9 عضو دارد که از این قرار
(t.me/Learncpp/1377)
هستند.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
#ctime #time.h #struct_tm #struct_time
🔵زمان (time)
🔹تابع Struct tm
🔻نمایش 9 عضو تابع struct tm
(t.me/Learncpp/1376)
@Learncpp
🔵زمان (time)
🔹تابع Struct tm
🔻نمایش 9 عضو تابع struct tm
(t.me/Learncpp/1376)
@Learncpp
#ctime #time.h #struct_tm #struct_time
🔵زمان (time)
🔹تابع Struct tm
پرچم ساعت تابستانی (The Daylight Saving Time flag یا tm_isdst) می تواند مقادیر زیر را داشته باشد.
1.مقداری بزرگتر از صفر که نشان دهنده ی روشن بودن این قابلیت در سیستم می باشد.
2.مقدار صفر که نشان دهنده ی خاموش بودن این قابلیت در سیستم می باشد.
3.مقداری کوچکتر از صفر که نشان دهنده ی عدم وجود اطلاعات کافی در سیستم می باشد.
همچنین tm_sec به طور کلی در بازه ی(0 _59)تعریف می شود و مقادیر اضافی برای همسان سازی پرش های ثانیه در سیستم های مختلف استفاده می شود.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
🔵زمان (time)
🔹تابع Struct tm
پرچم ساعت تابستانی (The Daylight Saving Time flag یا tm_isdst) می تواند مقادیر زیر را داشته باشد.
1.مقداری بزرگتر از صفر که نشان دهنده ی روشن بودن این قابلیت در سیستم می باشد.
2.مقدار صفر که نشان دهنده ی خاموش بودن این قابلیت در سیستم می باشد.
3.مقداری کوچکتر از صفر که نشان دهنده ی عدم وجود اطلاعات کافی در سیستم می باشد.
همچنین tm_sec به طور کلی در بازه ی(0 _59)تعریف می شود و مقادیر اضافی برای همسان سازی پرش های ثانیه در سیستم های مختلف استفاده می شود.
🔰ترجمه شده از سایت
www.cplusplus.com
@Learncpp
#ctime #time.h
📚فهرست آموزش کتابخانه time (زمان)
#mktime
t.me/Learncpp/1206
#time
t.me/Learncpp/1216
#clock
t.me/Learncpp/1233
#difftime
t.me/Learncpp/1249
#asctime
t.me/Learncpp/1261
#ctime
t.me/Learncpp/1277
#localtime
t.me/Learncpp/1293
#strftime
t.me/Learncpp/1304
#clock_t
t.me/Learncpp/1346
#time_t
t.me/Learncpp/1347
#struct_tm
1. t.me/Learncpp/1376
2. t.me/Learncpp/1377
3. t.me/Learncpp/1393
📝ترجمه کتابخانه از سایت رسمی برنامه نویسان C++
www.cplusplus.com
🔸کمک به بچه های سرطانی
💝 @tabligh_cpp
🔹آموزش تخصصی ++C
🛡@Learncpp
📚فهرست آموزش کتابخانه time (زمان)
#mktime
t.me/Learncpp/1206
#time
t.me/Learncpp/1216
#clock
t.me/Learncpp/1233
#difftime
t.me/Learncpp/1249
#asctime
t.me/Learncpp/1261
#ctime
t.me/Learncpp/1277
#localtime
t.me/Learncpp/1293
#strftime
t.me/Learncpp/1304
#clock_t
t.me/Learncpp/1346
#time_t
t.me/Learncpp/1347
#struct_tm
1. t.me/Learncpp/1376
2. t.me/Learncpp/1377
3. t.me/Learncpp/1393
📝ترجمه کتابخانه از سایت رسمی برنامه نویسان C++
www.cplusplus.com
🔸کمک به بچه های سرطانی
💝 @tabligh_cpp
🔹آموزش تخصصی ++C
🛡@Learncpp
Telegram
Learning ©➕➕
#ctime #time.h #mktime
🔵زمان (time)
🔹تابع mktime
time_t mktime(struct tm *timeptr);
این دقیقا برعکس تابع localtime است، ما به این تابع یک زمان استاندارد می دهیم و این تابع می گوید که این زمان از چند ثانیه تشکیل شده است.
🔹پارامتر ها :
🔻مفهوم timeptr*…
🔵زمان (time)
🔹تابع mktime
time_t mktime(struct tm *timeptr);
این دقیقا برعکس تابع localtime است، ما به این تابع یک زمان استاندارد می دهیم و این تابع می گوید که این زمان از چند ثانیه تشکیل شده است.
🔹پارامتر ها :
🔻مفهوم timeptr*…