سؤال
ليس لديّ C ++ الفعال معي وهذا يزعجني كثيرًا لدرجة أنني يجب أن أطلب عقلاني. منح
class Foo : public Bar{}
void MyFunc(Bar &_input);
إذا مررت في Foo
, ، هل أنا متشابكة مع تقطيع مشكلة أم أنني تجنبتها؟
المحلول
ليست مشكلة ، لأنك تمر في إشارة. أنت لا تقوم بإنشاء كائن جديد ، فقط ترك MyFunc الوصول إلى الكائن الأصلي.
نصائح أخرى
بما أنك تمر المرجع - لا, ، ما لم تتم تعيينه لاحقًا إلى مثيل Bar
.
التقطيع ليست سوى مشكلة عندما تقوم بإلقاء كائن إلى فئة الأم. لا توجد تقطيع عند إلقاء مؤشرات أو مراجع.
لا تنتمي إلى StackOverflow