std::cout 与 cout 有什么区别
std是一个命名空间(namespace),‘::’是作用域运算符,cout是std空间中的一个函数名。使用cout时,必须有使用std命名空间的说明,有两种说明方式。
方式一:每次使用时对cout说明:
std::cout << "Input two numbers:";
方式二:在主函数前说明一下,后面就可以直接使用cout:
using namespace std;
cout << "Input two numbers:";
下面两段代码功能完全一样:
代码一:
#include <iostream>
int main()
{
std::cout << "Hello world!!!" << std::endl;
return 0;
}
代码二:
#include<iostream>
using namespace std;
int main()
{
cout << "Hello world!!!" << endl;
return 0;
}
输入
#include <iostream>
int main() {
int number1;
std::cin >> number1;
std::cout << "number1 = " <<number1 << std::endl;
return 0;
}
全局声明 cout、cin、endl
这样下面不用写std::
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int main() {
int number1;
cin >> number1;
cin >> number1;
cin >> number1;
cout << "number1 = " <<number1 << endl;
// + - * / % 取余
return 0;
}
类与对象
类是对象的模板, 对象是类的实例
类通常需要实例化出具体对象才能使用
#include <iostream>
using namespace std;
// 类名最好用大驼峰
class GradeBook{
public:
void displayMessage(){
// 方法名用小驼峰
cout<<"Welcome to grade book"<<endl;
}
};
int main() {
// 实例化类
// 类名 对象名
GradeBook gradeBook;
gradeBook.displayMessage(); //对象名.方法(函数)名调用
}
带有形参的方法
#include <iostream>
#include <cstring>
using namespace std;
// 类名最好用大驼峰
class GradeBook{
public:
void displayMessage(string courseName ){
// 方法名用小驼峰
cout<<"Welcome to grade book "<< courseName<<endl;
}
};
int main() {
// 实例化类
// 类名 对象名
GradeBook gradeBook;
string nameOfCourse;
// courseName = "C++ Program";
getline(cin, nameOfCourse);
gradeBook.displayMessage(nameOfCourse); //对象名.方法(函数)名调用
}
C++ 面向对象
class 类名{
// 属性 事物的静态特性
// 方法 事物的行为
比如 学生类 属性可以有 name , score ,age...
}
get/set方法
为什么要有get/set方法?因为面向对象编程中类=的属性要私有化, 这样外界无法访问, 需要提供 get(得到这个属性)/set(修改属性)方法访问这个属性
#include <iostream>
#include <cstring>
using namespace std;
// 类名最好用大驼峰
class GradeBook{
public:
// get 方法
string getCourseName(){
return courseName;
}
// set 方法
void setCourseName(string name){
courseName = name;
}
void displayMessage(string courseName ){
// 方法名用小驼峰
cout<<"Welcome to grade book "<< courseName<<endl;
}
private:
string courseName = "C++";// 设置带有默认值的属性
};
int main() {
// 实例化类
// 类名 对象名
GradeBook gradeBook;
string name1 = gradeBook.getCourseName();
cout<< "name1 = " << name1 << endl;
gradeBook.setCourseName("Java");
string name2 = gradeBook.getCourseName();
cout<< "name2 = " << name2 << endl;
}
定义学生类, 属性有一个学生姓名, 一个学习方法, 按照上面模式进行编写
网友评论