zoukankan      html  css  js  c++  java
  • c++复习笔记(2)

    1. 类与对象

    类的声明与结构,数据成员和成员函数。

    成员函数可以在类外被定义。但是必须在类内声明。

    封装:protect——允许类成员和派生类成员访问。

    构造函数之外,还有一种初始化类成员的方法:参数初始化表。(待补充)

    声明带参数的构造函数,除了传递实参之外,也可以制定默认值。

    析构函数是在对象生命周期结束时自动执行的。

    class ClassText {
    public:
        ClassText() {
            a = 0;
            b = 0;
        }
        ClassText(int a,int b);
        int sum() {
            return a+b;
        }
        ~ClassText() {
            cout<<"goodbye"<<endl;
        }
    
    private:
        int a, b;
    };
    
    ClassText::ClassText(int a, int b) {
        this->a = a;
        this->b = b;
    }
    
    int main() {
        ClassText ct1 = ClassText();
        cout<<ct1.sum()<<endl;
        ClassText ct2 = ClassText(1,2);
        cout<<ct2.sum()<<endl;
    
        return 0;
    }

    上面例子大概覆盖了前面提到的点。不过默认值尝试了一下,有点问题…………

    输出结果为:

    0
    3
    goodbye
    goodbye

    静态参数,类和派生类也共享同一个静态参数。(java也是这样么?)

    静态函数没有this指针,非静态函数有this指针。

    this指针,基本上当java的this用,区别就在于这里是指针,用->访问成员参数。

    类模板,跟函数模版差不多,声明方法如下:

    template<class T>
    class Operate{
    ...
    }

    一般情况下,析构函数和构造函数的调用顺序正好相反。(何时调用析构函数待补充)

    类的继承,在访问属性上,就高不就低。private>protect>public

    虚函数主要是为了利用指针来调用基类中的方法。(详细的内容待补充)

    纯虚函数可以理解成是java中的接口。

  • 相关阅读:
    (数论选拔)联盟阵容
    ai变成bi(递增)最小次数
    状压dp
    dp被3整除的子序列
    离散化+莫队
    dp+哈希
    set的应用
    NOIP 2016 明明的随机数
    洛谷背景更改
    zzulioj 1734 堆
  • 原文地址:https://www.cnblogs.com/wangzhao765/p/9119893.html
Copyright © 2011-2022 走看看