C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。
C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。
类与对象
定义及作用域
C语言中,结构体中只能定义变量,在C++中,结构体还可以定义函数,而且更喜欢用class(默认私有)来代替struct(默认公有)。
class Student {
//声名,class为关键字,Student为类的名字
char _name[10]; //{}中为类的主体
void _sex() {
//类内定义
};
void _id(); //类内声名
//....
};
void Student::_id() {
} //类外定义,类内必须有声名
类中的元素称为类的成员:类中的数据称为类的属性或者成员变量; 类中的函数称为类的方法或者成员函数。
访问限定符及封装
- 访问限定符:public,private,protected;作用域从该访问限定符出现的位置开始直到下一个访问限定符出现时为止。
#include<iostream>
using namespace std;
struct B {
//默认公有
void f() {
cout << "B::f()" << endl;
}
private: //私有成员
int _a1;
protected: //保护成员
int _a2