一、C++介绍
面向对象程序设计(OOP)
二、c++构成
2.1 头文件
#include <iostream> //c++的头文件没有扩展名,或者.hpp |
2.2 命名空间
using namespace std; //使用了std标准的命名空间(这个命名空间中定义很多的标准定义) |
2.3 作用域和作用域运算符“::”
作用域:变量在程序中的起作用范围。分为全局作用域、局部作用域、语句作用域
优先级:范围越小优先级越高
作用域运算符:“::”
如果希望在局部变量的作用域内使用同名的全局变量,可以在该变量前加上“::”,“::”称为作用域运算符
#include <iostream>
using namespace std;
int num = 10;//全局变量
int main( )
{
int num = 20;//局部变量
cout << "num = " << num << endl; //输出局部变量的值
cout << "num0 = " << ::num << endl; //"::num"表示输出全局变量的值
system("pause");//防止运行结果闪退,也可用getchar();
return 0;
}
2.4 输入输出
输入: “>>”:右移操作符 cin:标准输入,代表键盘 cin >> i; //在键盘上输入i的值 |
输出: “<<”:左移操作符,在C++里面表示功能的改造(增强)==>C++ 语言操作符重载 count:标准输出,黑屏幕 endl:表示换行的意思,跟C中的‘/n’功能类似 cout << "i = " << i << endl; //打印到屏幕,并且回车换行 |
2.5 类:包含成员变量和成员函数
class 类名 //对于C++的class,所以的成员变量都是这个类私有的,不能在类的外部访问 { public://关键字public是说明变量是共有的,可以在类的外部访问 变量名;//对象 private://关键字private是说明变量是私有的,也是C++默认类型 int money; }; 注:类和对象是1:n的关系, |
类似于c语言的结构体声明,不过有两个地方有差别。首先是用class关键字代替struct关键字。其次是用public关键字指出其下面的变量能够在类里或类外访问。即能够在程序中使用和修改这些变量。
三、实现方法:面向过程和面向对象
3.1 面向过程的编程方法:c语言为主
#include “iosteram"
using namespace std; //命名空间
int main()
{
cout << "hello world" << endl; //cout:标准输出
system("pause"); //防止运行结果很快消失。也可以用getchar();
}
3.2 面向对象的编程方法:c++
1、进行类的抽象。即成员变量和成员函数。注:类是一个数组类型,即固定大小内存块的别名。这是一个抽象的概念,系统不会给它分配内存。只有在定义类里面的变量(比如c1,c2)时,才会分配内存。
2、进行实例化。对类的对象进行实例化
3、定义相关功能函数。求面积。
a. 面向过程加工的是一个一个的函数,顺序执行函数
b.面向对象加工的是一个一个的类,即来回的调用改变函数
4、main集成测试
思考:类的调用过程,对执行过程进行分析。
class MyCircle //1.类的抽象
{
public:
double m_s;
double m_r;
public:
void setR(double r)
{
m_r = r;
}
double getR( )
{
return m_r ;
}
double getS()
{
m_s = 3.14 * m_r * m_r;
return m_s;
}
};
int main()//用面向对象的方法求圆的面积
{
MyCircle c1, c2;//2.对类的对象进行实例化
double r;
cout << "please input r:" ;
cin >> r;
c1.setR(r);
cout << "the area of s =" << c1.getS( ) << endl;
return 0;
}