همانطور که گفته بودیم شئ ایی در زبان برنامه نویسی ++C وجود دارد که امکان  دریافت مقادیر ورودی از صفحه کلید را برای  برنامه نویس ممکن می سازد.کلاس iostream امکان خواندن ورودی را هم فراهم می کنند. شئ مورد استفاده برای ورودی استاندارد cin است که ورودی را معمولا از کنسول می گیرد اما می تواند از منابع دیگر هم دریافت کند.
عملگری که همراه با cin استفاده می شود >> است که برای دریافت ورودی از نوع آرگومانش صبر می کند. مثلا اگر آرگومان صحیح باشد برای یک عدد صحیح از صفحه کلید منتظر می ماند.
مثال. برنامه زیر یک عدد صحیح را دریافت کرده معادل اکتال و هگز آنرا نمایش می دهد.

#<include <iostream

int main()
{
;int number
; ” :cout << “Enter a decimal number
; cin >> number
;cout << “value in octal = 0” << oct << number << endl
;cout << “value in hex = 0x” << hex << number << endl
; return 0
}

تابع cin متوجه نوع متغیر می شود و داده ورودی را به نوع متناسب تبدیل می کند.
مثال:

برنامه زیر تابع cin را برای خواندن سه عدد که با space از هم جدا می شوند استفاده می کند. بعد از وارد کردن مقادیر باید کلید enter را فشار داد.

#<include <iostream

int main()
{
; int a = 0
;   float b = 0.0
; int c = 0
;  cout << “Please Enter an int, a float and int separated by spaces” <<endl
; cin >> a >> b >> c
; cout << “You entered ” << a << ” ” << b << ” ” << c << endl
;  return 0
}

اگر ۳ ۷٫۲ ۳ وارد شود خروجی به صورت “You entered 3 7.2 3” خواهد بود.
اگر ۳٫۷۶ ۵ ۸ وارد شود خروجی به صورت ” You entered 3 0.76 5″ می شود. چون نقطه ممیز جز عدد صحیح نیست به عنوان شروع عدد اعشاری درنظرگرفته می شود و بقیه خط ورودی از بین می رود.
اگر ورودی به طور موفق تبدیل نشود شئ cin یک بیت شکست را تنظیم می کند که قسمتی از ios است و توسط تابع fail() هم در cin و هم در cout به صورت زیر قابل خواندن است.

if (cin.fail() ) //do something

برای صفحه نمایش روشن است که ()cout.fail بندرت ممکن است استفاده شود اما درفایل های I/O می تواند بکار برود.
تابع ()good هم برای cin و cout وجود دارد.
cin بهترین دستور برای همه شرایط نیست اما ساده ترین را ه است. تابع get یک کاراکتر تکی صرفنظر از نوع را دریافت می کند.
تابع getline برای دریافت تعداد معینی کاراکتر است. این تابع وقتی می خواهید داده ای را درون آرایه ذخیره کنید سودمند است. cin اجازه می دهد کاربر داده های بیشتری را در آرایه ذخیره کند که overloading نام دارد. توسط تابع getline تعداد بایت هایی که می خواهید کاربر وارد کند را تعیین می کنید. هرکاراکتر که کاربر تایپ می کند یک بایت فضا می برد. مثلا اگر برای تابع ۴بایت تعریف کنید و کاربر کلمه Computer را وارد کند تنها Comp دریافت می شود.
مثال.

include <iostream
int main()
{
;[ char text[10
;”  cout << “Please enter a wordn
;( cin.getline(text,10
;   cout << text << endl
;  return 0
}

کلیه ورودی هائی که با cin خوانده می شوند نیاز دارند کلید Enter یا Return زده شود. در C++ استاندارد راهی برای خواندن مستقیم کلیدها از صفحه کلید وجود ندارد. اما می توان از کتابخانه های دیگر استفاده کرد.