اشیا
سی++ چندین ویژگی شیگرا را زبان سی معرفی نمود معرفی کلاس چهار ویژگی که در زبانهای شیگرا و بعضا غیر شیگرا حضور دارد یعنی انتزاع، بستهبندی، وراثت، و چندریختی را فراهم کرد. اشیا نمونههای ساخته شده از کلاس در زمان اجرا هستند. میتوان کلاس را نمونهای از قالبها دانست که چندین مورد از آنها بوجود میآید.
[ویرایش] بستهبندی
بستهبندی به معنای جمعآوری عملیات و داده در یک محل میباشد. سی++ بستهبندی را با ایجاد امکان تعریف هر کلاس به صورت public، private، protected پیادهسازی نمودهاست. اعضای private فقط توسط اعضای کلاس و یا کلاسها دقیقا بیان شده (friend) قابل دسترسی هستند. اعضای protected توسط کلاسهای ارث برده شده و اعضای کلاس و کلاسهای friend قابل دسترسی هستند.
در تعاریف شیگرا باید تنها توابعی بستهبندی گردند که باید از نحوه پیاده سازی این نوع بخصوص اطلاع داشته باشد. سی++ این ویژگی را با استفاده از توابع عضو و توابع دوست فراهم نموده اما قطعی نکردهاست. در سی++ این امکان وجود دارد که تمام نوع را عمومی تعریف نمایند اما در صورتی که نیاز باشد فقط بخشی از آن عمومی گردد در نتیجه این زبان نه تنها شیگرا است از مدلهای ضعیفتر همانند برنامهنویسی مدولار پشتیبانی مینماید.
عموماً توصیه بر این است که تمام اعضا به صورت خصوصی یا حفاظت شده تبدیل گردند و فقط توابعی که باید توسط دیگر کلاسها به عنوان واسط استفاده شوند عمومی باقی بمانند.