C++笔记(一)——C++的基本介绍及构成

一、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;
}

猜你喜欢

转载自blog.csdn.net/qq_37764129/article/details/81077247