c++学习笔记01

c++标准输入输出流类对象:
cin、cout、cerr
对应c语言中的3个文件指针:
stdin,stdout、stderr
结构体和类的区别主要在访问控制方面:(访问权限分为3种:public,private,protect)
结构体是一种特殊的类默认为public
类默认为private
面向对象思想:
类:抽象出一些事物的共有属性(不可能消亡的)(不占用具体的物理内存)
对象:具有一个具体属性值产生的事物(有生命周期)
类的实例化就是类的对象
构造函数作用:
1、初始化内部数据成员;
2、 最重要的作用创建对象本身;(分配内存空间)
规定:
c++规定,每个类必须有一个构造函数,没有构造函数,就不能创建任何对象;
c++又规定,一个类如果没有提供任何构造函数,c++会提供一个默认的不带参数的构造函数,仅仅完成对象的创建,不做任何初始化工作;
只要类定义了一个构造函数,系统就不再提供默认的构造函数。
析构函数的作用:
当对象生命周期结束时会调用析构函数,完成对应内存空间的回收和对象的释放。
注意:析构函数是“反向”的构造函数,并且不允许有返回值和参数,并且一个类只有一个析构函数。
根据构造函数和析构函数的作用:
可以选择在构造函数申请某些数据成员的堆空间,在析构函数中释放对象运行期间所申请的资源。
函数重载
条件:函数的参数的类型或者参数个数不同时可构成函数重载
以下两种情况不能构成函数重载
情况一:
1.void output();
2.int output();
情况二:
1.void output(int a,int b = 5);//带缺省值
2.void output(int a);
this指针:是一个隐含指针,指向对象本身,存放对象本身地址
c++学习笔记01_第1张图片

#include 

class pointer
{
public:
    int x;
    int y;

    point() //构造函数
    {
        x = 0;
        y = 0;
    }

    point(int a,int b) //带参数构造函数
    {
        x = a;
        y = b;
    }
    ~point() //析构函数
    {

    }

    void output()//成员函数
    {
        cout << x << endl << y << endl;
    }

    void output(int x,int y)//成员函数
    {
        this->x = x;
        this->y = y;
    }
};

int main()
{
    //point pt;
    //pt.output();

    point pt(3,3);
    pt.output(5.5);
    pt.output();
    return 0;
}

你可能感兴趣的:(c++学习笔记)