从零开始的C++学习

Author Avatar
落影汐雾 8月 09, 2019
  • 在其它设备中阅读本文章

更新于:A.D.2019-10-17

Visual Studio过于复杂

装了一下2017年装过一次却怎么没用过的Visual Studio,计划学习C++的OOP及C++11的语法后继续学习C++MFC.

文档:cppreference.com

资料:C++教程

书籍:《C++ Primer Plus》

C++ OOP

类 对象

class x{...};定义一个类

x xxx;声明一个类型为Hf的对象

访问数据成员用.即可

成员函数

类定义内部的成员函数默认inline

在类的外部定义函数的话用范围解析运算符::定义成员函数

数据类型 类名::函数名() {}

调用函数用. 即可

类访问修饰符

public公有成员在程序中类的外部是可访问的。您可以不使用任何成员函数来设置和获取公有变量的值

private私有成员变量或函数在类的外部是不可访问的,甚至是不可查看的。只有类和友元函数可以访问私有成员。

protected保护成员变量或函数与私有成员十分相似,但有一点不同,保护成员在派生类(即子类)中是可访问的。


继承时,使用哪种修饰符父类便继承到哪一部分中

1.private 成员只能被本类成员(类内)和友元访问,不能被派生类访问;

2.protected 成员可以被派生类访问。

类构造函数 & 析构函数

构造函数就定义一个函数名为类名没有数据类型的函数,每次创建类的新对象时执行,默认是存在构造函数,所以如果定义了有参数的构造函数,一定注意要再定义一个无参数无内容的构造函数,不然不用带参数的构造函数用默认创建对象的话会出错.
像这样玩就行,赋值可以像这样搞.

struct node {
    int o, l, r, t;
    node() {}
    node(int o, int l, int r): o(o), l(l), r(r), t(ask(l, r)) {}
    friend bool operator < (const node& a, const node& b) {
        return sum[a.t] - sum[a.o - 1] < sum[b.t] - sum[b.o - 1];
    }
};

析构函数名字是这样的~类名,这个函数再删除对象时执行.
总之就是一个创建,一个删除时执行。

本文由 落影汐雾 原创,采用 保留署名-非商业性使用-禁止演绎 4.0-国际许可协议
本文链接:https://x.lyxw.xyz/2019/C++/