الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما هو الخطأ في هذا الكود !

بدأه فوضوية في 23 يوليو 2011 · 6 رد · 566 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلآم عليكم ورحمه الله وبركآته

ارجوكم ساعدوني ,,

هناك خطأ في هذا الكود لكن لا اعرف ما هو!!!

class Example{
private:
int data;
static int count;
public:
Example( int y=10):data(y)
{}
int getIncrementedData() const
{return ++data;}
static int getCount()
{ cout<< "Data is "<<data<<endl;
  return count;
}
};

ولدي سؤآل آخر

لماذا عندما وضعنا increment في الداخل اصبح هناك خطأ

class increment{
private:
	int count;
	const int Increment;
public:
	increment(int c=0, int i=0)
{
		count=c;
		Increment=i;
}};

وعدنما وضعناه بجانب اسم الداله لايوجد خطأ

class increment{
private:
	int count;
	const int Increment;
public:
	increment(int c=0, int i=0): increment=i;
{
		count=c;

}};
#2

أظن أن الخطأ في السؤال الأول هو وضع const على دالة GetIncrementedData حيث أنك تقومين بتغيير عضو في الصنف (وهو data) في دالة لا يجوز لها إجراء تغييرات على أعضاء الصنف (لأنها const)

بالتوفيق

هذه الجملة خاطئة  :wacko: 


#3

شكراَ اخي ع الاجابه ..

طب السؤال الثاني مافي احد يعرفه :(

#4

حسناً، بالنسبة للسؤال الثاني، لدي جواب غير دقيق مئة بالمئة:

أظن أن السبب هو أن increment هو ثابت constant، في الحالة الأولى يتم إعطاؤه القيمة داخل دالة البناء Constructor، أي بعد إنشاء الكائن. أما في الحالة الثانية فيعطى القيمة في لائحة التهيئة Initialization List، أي قبل إنشاء الكائن.

إذن في الحالة الأولى تمت معاملة increment كمتغير مما سبب خطأ، أما في الحالة الثانية فتمت معاملته كثابت، أي بشكل صحيح.

والله أعلم

بالتوفيق

هذه الجملة خاطئة  :wacko: 


#5

يعطيك العافيه

آلله يجزآآك خير ويسهل لك خطآآآآك ()

اريد مساعدنكم ايضاً في هذا السؤآل , لقد قمت بحله لكن لم اعلم هل هو صحيح ام لا

Exercise 1: Consider the following declaration:

class strange ()
{
	Private:
		int a;
		float b;
};

a- Write a statement that shows the declaration in the class strange to overload the binary operator + as a friend function

b- Write a statement that shows the declaration in the class strange to overload the operator == as a friend function

c- Write a statement that shows the declaration in the class strange to overload the post-increment operator ++ as a friend function

وهذا حلي , اتمنى منكم افادتي

#include <iostream>
#include <cstdlib>              
using namespace std; 
class strange ()
{
	private:
		int a;
		float b;
friend int operator+(strange &obj,int x);
friend bool operator ==(strange &obj);
friend strange operator++(int);
};
#6

اختي من قوانين المنتدى اعزلي كل سؤال بموضوع منفصل ..

حتى تتم الاجابة عليه وكذلك يمكن الاخرين من رؤية السؤال ..

اعيدي السؤال الجديد في موضوع جديد لكي يتم تعميم الطلب ..

تحياتي العطرة ..

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#7
سنان محمد صالح كتب:

اختي من قوانين المنتدى اعزلي كل سؤال بموضوع منفصل ..

حتى تتم الاجابة عليه وكذلك يمكن الاخرين من رؤية السؤال ..

اعيدي السؤال الجديد في موضوع جديد لكي يتم تعميم الطلب ..

تحياتي العطرة ..

لكن انا اريد الحل الآن , وفي اسسسسرع وقت

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…