เพื่อนใน C#
ฟังก์ชั่นเพื่อนของคลาสถูกกำหนดไว้นอกขอบเขตของคลาสนั้น แต่มีสิทธิ์ในการเข้าถึงสมาชิกส่วนตัวและสมาชิกที่มีการป้องกันทั้งหมดของคลาส แม้ว่าต้นแบบของฟังก์ชันเพื่อนจะปรากฏในคำจำกัดความของชั้นเรียน แต่เพื่อนไม่ใช่ฟังก์ชันของสมาชิก
เพื่อนสามารถเป็นฟังก์ชัน เทมเพลตฟังก์ชัน หรือฟังก์ชันของสมาชิก หรือเทมเพลตของคลาสหรือคลาส ในกรณีนี้ทั้งคลาสและสมาชิกทั้งหมดเป็นเพื่อนกัน
C++ เทียบเท่าเพื่อนใน C#
สิ่งที่ใกล้เคียงที่สุดคือการสร้างคลาสที่ซ้อนกันซึ่งจะเข้าถึงสมาชิกส่วนตัวของคลาสภายนอก
ที่นี่ชั้นในสามารถเข้าถึงสมาชิกส่วนตัวชั้นนอกได้ -
class Outer { class Inner { } }