C++基础知识-1


title: C++基础知识-1
date: 2019-07-25 12:24:01
categories:

  • Game
    tags:
  • C++
  • Unreal Engine

-因本人才疏学浅,错误之处还请大家指正批评

本文资料来源

这篇博客的目的是个人复习向,知识非常的零散和破碎和浅层

1 auto

可以把它看做是C++里面的一个自动判断类型的工具

auto a=10;
auto b = 'c';

相当于把a自动设置为int型

b自动设置为字符型

2 C++数组的初始化

默认的初始化的时候

C++ String 数组默认的初始化是""

string b;
    if (b == "") {
        cout << "Yes";
    }

3 C++指针的一些问题

#include<iostream>
#include<string.h>
using namespace std;
int main(void) {
    void* a;
    //定义了一共空类型的指针,这个指针可以指向任何
    //类型,但是使用之前都要加上强转
    string str = "Win or Die";
    a = &str;
    cout << (*(string*)a) << endl;
    //(string *)a是强转的表达式
    //*则是取地址符
    return 0;
}

4 C++里面的引用机制简单讲解

一句话总结,我认为这个引用就相当于给a起了一个别名

#include<iostream>
#include<string.h>
using namespace std;
int main(void) {
    int a, & b = a;
    a = 100;
    cout << a << endl;
    b = 1000;
    cout << a << endl;
    return 0;
}

5 C++里面类的机制的简单讲解

创建一个类

类的定义一般放在头文件里,而且与类名同名

比如我们创建了一共名叫Name的类

那么我们就要创建一叫Name.h的文件

比如:

下面是一个Name.h

#pragma once
//Name.h里面存放的是类的声明
class Name
{
public :
    int HP;
    int Damage;//表攻击
    void Attack();
    void TakeDamage();
private:
};

然后是Name.cpp

#include "Name.h"
#include "Header.h"
//实现Attack()的方法

void Name::Attack() {
    cout << "开始攻击了" << endl;
}
void Name::TakeDamage() {
    cout << "我被攻击了" << endl;
}
类的声明

然后是我们需要的一个头文件

#pragma once
#include<iostream>
using namespace std;

这个是主函数的CPP

#include"Header.h"
#include"Name.h"

int main() {
    Name Person;//声明一个Name类的变量
}
类的初始化

类的初始化有好几种方法

使用构造方法

Name Person=Name();
//调用默认的构造方法
//这里调用的是有参数的构造方法
Name Person2 = Name(100, 10);
类的构造方法

分为有参的,和无参的

//声明
//无参数的
    Name();
    //有参数的
    Name(int, int);
    

//实现
//构造方法的实现
Name::Name() {
    this->HP = 0;
    this->Damage = 0;
}
Name::Name(int hp, int damage) {
    this->HP = hp;
    this->Damage = damage;
}


//主函数里面的调用
//这里调用的是无参数的构造方法
    Name Person1 = Name();
    //这里调用的是有参数的构造方法
    Name Person2 = Name(100, 10);
6 Private和Public

Private 里面的东西只能被类本身所使用

Public 里面的内容随意的供他们使用

6 关于C++里面的继承

继承可以继承父类中非私有项

几个重要的语法糖

Student_Name::Student_Name(int HP,int Att) :Name(HP, Att)
//调用主类的构造方法的语法
class Student_Name :public Name
//继承本身的语法
资料引用

声明 本文资料来源于网络和书籍,以上图文,贵在分享,版权归原作者以及原出处一切,内容为作者观念,并不代表本人附和其观念和对齐真实性负责,如伤害到您的利益,请您在评论下方留言

猜你喜欢

转载自www.cnblogs.com/a-small-Trainee/p/12400364.html