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++的多态性。

  • 相关阅读:
    #2051:Bitset(进制转化)
    #2054:A == B ?(水题坑人)
    #2045:不容易系列之三LELE的RPG难题(dp递推)
    #2037:今年暑假不AC
    #2036:改革春风吹满地
    OJ中的语言选项里G++ 与 C++的区别
    如何在CSDN上如何快速转载博客
    Python之路(第八篇)Python内置函数、zip()、max()、min()
    Python编程笔记(第一篇)Python基础语法
    Python之路(第七篇)Python作用域、匿名函数、函数式编程、map函数、filter函数、reduce函数
  • 原文地址:https://www.cnblogs.com/Charles2008/p/1690880.html
Copyright © 2011-2022 走看看