zoukankan      html  css  js  c++  java
  • C++基础(学习笔记)

       1、C++的标准输入输出流

    C++中提供了一套输入输出流对象,他们是cin,cout,cerr,对应C语言的中三个文件指针,stdin,stdout,stderr,分别指向终端输入,终端输出和标准出错输出(也从终端输出),cin与>>一起完成输入操作,cout,cerr与<<一起完成输出与标准错误输出。利用cin和cout比C语言中的sanf和printf要方便得多,cin和cout可以自动辨别输入输出数据类型而自动调整输入输出格式,不必像sanf和printf那样一个个由用户指定,使用cin,cout不仅方便,而且减少了出错的可能性。

    对于输出来说,我们我可以用int i=3; cout<<x<<endl;

    对于输入来说,我们可以用int j;cin>>i;

    注意箭头的方向。在输出中我们还使用endl(end of line),表示换行。主要最后一个是字符"l",而不是数字"1",endl相当于C语言的'\n',表示输出一个换行。

       2、构造函数

    构造函数最重要的作用是创建对象本省。

    C++规定,每个类必须有一个构造函数,没有构造函数,就不能创建任何对象。

    C++又规定,如果一个类没有提供任何构造函数,则C++编译器提供一个默认的构造函数,这个构造函数不带任何参数,它只负责创建对象,而不做任何初始化工作。

    只有一个类定义了一个构造函数,不管这个构造函数将是否是带参数的构造函数,c++就不再提供默认的构造函数。如果需要无参的构造函数,则必须自己定义。

       3、析构函数

    当一个对象生命周期结束时,其所占有的内存空间就要被收回,这个工作就由析构函数来完成。

    析构函数是"反向"的构造函数,析构函数不允许有返回值,更重要的是析构函数不允许带参数,并且一个类中只能有一个析构函数。

       4、函数的重载

    分析以下情况:是否构成函数的重载。

    (1)void output();   int output();---不能

    (2)void output(int a,int b=5);   void output(int a);---不能

    条件:方法名相同,函数的参数类型,参数个数不同,才能构成函数的重载。

      5、this指针

    this指针是一个隐含的指针,它是指向对象本省,代表对象的地址。

    一个类所以的对象调用的成员函数都是同一份代码段,那么成员函数又是怎么识别属于同一对象的数据成员呢?原来,在对象调用pt.output(10,10),成员函数除了接受2个实参外,还接受到了一个对象s的地址,这个地址被一个隐含的形参this指针所获取,它等同于执行this=&pt.所有对数据成员的访问都隐含地被加上前缀

    this->。例如x=0;等价于:this->x=0。

       6、类的继承访问特征

    基类的访问特征                       类的继承特征                                子类的访问特征

    public                                                                                      public

    protected                            public                                            protected

    private                                                                                    No Access

    public                                                                                     Protected

    protected                             protected                                     protected

    private                                                                                    No Access

    public                                                                                      Private

    protected                             Private                                          Private

    private                                                                                    No Access

     7、多态性

    当C++编译器在编译的时候,发现如果父类的方法是虚函数,这个时候C++就会采用迟绑定(late binding)的技术,在运行时,依据对象的类型来确认调用的哪一个函数,这种能力就做C++的多态性。

  • 相关阅读:
    Spring spEL
    Spring 使用外部部署文件
    Spring 自动装配
    spring 属性配置细节
    hdu 1054 Strategic Game
    fzu 2037 Maximum Value Problem
    将博客搬至CSDN
    HDU 4714 Tree2Cycle
    HDU 1009 The Shortest Path in Nya Graph
    POJ 1942 Paths on a Grid 组合数的优化
  • 原文地址:https://www.cnblogs.com/Charles2008/p/1690880.html
Copyright © 2011-2022 走看看