IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C++学习笔记 四 -> 正文阅读

[C++知识库]C++学习笔记 四

构造函数以及其他工具
构造函数是类中包含的一种特殊函数,他的作用是当声明一个类时,程序会自动调用这个函数,让他给类的成员初始化;
构造函数:

  1. 构造函数名必须与类的名相似
  2. 声明构造函数的时候,他是没有返回值的,并且他的前面不要加任何东西:
  3. 要将函数放在公有部分;
class STUDENTS
{
    STUDENTS(int a,int b);
public:
    int name;
    int id;
    short age;
private:
    int password;
    int account;
};

需要注意的是:
声明与初始化类为下面这种方式:

//正确的方式
STUDENTS date1(7,4),date(5,5);
//错误的方式
STUDENTS date1,date2;
date1.STUDENTS(7,4);
date2.STUDENTS(5,5);

定义构造函数:
1.和普通结构相似:

STUDENTS::STUDENTS(int a,int b)
{
	account = a;
	password = b;
}

2.特殊的定义方式:

STUDENTS::STUDENTS()
				:account(a),password(b)  //初始化列表
{}

无参构造函数:使用无参数构造函数来初始化对象,声明对象时后面不能使用圆括号。

其他工具:
类的const类,内联函数,类的静态成员;
const的使用要不不用,要用该用的全部地方使用:
内联函数:不推荐使用
静态成员:静态变量:类中的“全局变量”
静态函数:静态函数的调用不能使用到任何与被调用对象相关的内容;

静态变量:

class STUDENTS
{
    STUDENTS(int a,int b);
public:
    int name;
    int id;
    short age;
    static int get_grade();
private:
    int password;
    int account;
    static int grade;
};

int STUDENTS::grade = 100;
int STUDENTS::get_grade()
{
	grade++;
	return grade;
}

向量
向量:可以看作在程序运行中,大小可以改变的数组;
定义:

vector<int> v;

初始化:

//1.声明时,初始化;
vector<int> a(20);
//2.push_back
v.push_back(42);
#include <iostream>
#include <vector>
using namespace std;

int main() {
    vector<int> a;
    a.push_back(10);
    for (int i = 0; i < 10; ++i) {
        a[i] = i+1;
    }
    for (int i = 0; i < 10; ++i) {
        cout << a[i] << endl;
    }
    return 0;
}

使用的时候记住一下几点:

  1. 向量使用前一定要初始化,不然无法赋值与更改;
  2. 使用size()查看向量大小时,只有向量初始化是下面这种才有意义:
vector<int> a(20);
#include <iostream>
#include <vector>
using namespace std;

int main() {
    vector<int> a(10);
    cout << a.size();
    for (int i = 0; i < 10; ++i) {
        a[i] = i+1;
    }
    for (int i = 0; i < 10; ++i) {
        cout << a[i] << endl;
    }
    return 0;
}


陷阱:赋值到向量范围之外会导致程序出错。

效率问题:
每个向量都有自己的容器,设置合适的容器可以让程序效率提高
v.reserve(32) 向量的容器至少存放32个元素
v.reserver(v.size() + 10)向量容器自动设置容器大小

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-13 11:17:51  更:2021-10-13 11:17:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 13:28:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码