PDA

View Full Version : یه مشکل کوچک در تعریف کلاس



mamad64bit
پنج شنبه 09 آبان 1387, 10:33 صبح
من در کد زیر خط 4 را نمیدونم یعنی چی؟ لطفا یه توضیحی بدید ممنون میشم




1#include<iostream.h>
2class rat{
3 public:
4 rat(int n=0,int d=0): num , den (d) { f(); }
5 private:
6 int num,den;
7 void f(){cout << "f called from rat..";}
};
8 void main()
9 {
10 }

Nima_NF
پنج شنبه 09 آبان 1387, 15:24 عصر
خط 4 اشتباه نوشته شده، (n) فراموش شده است:



rat(int n=0,int d=0): num(n) , den (d)
{
f();
}

تابع rat همان سازنده کلاس هست که در ابتدای ساخت یک نمونه شیی از آن فراخوانی می شود و بعد از آن نیز، دو متغیر مقدار دهی اولیه می شوند، یعنی معادل دستور زیر است:



rat(int n=0,int d=0)
{
num = n;
den = d;
f();
}

Salar Ashgi
پنج شنبه 09 آبان 1387, 20:14 عصر
سلام ، اصطلاحا به این روش ، Member Initializer گفته میشود و کاربرد آن در مقدار دهی عناصر

const , static کلاس میباشد !!!

موفق و پیروز باشید !!!