title: C++基础知识-1
date: 2019-07-25 12:24:01
categories:
-因本人才疏学浅,错误之处还请大家指正批评
本文资料来源
这篇博客的目的是个人复习向,知识非常的零散和破碎和浅层
可以把它看做是C++里面的一个自动判断类型的工具
auto a=10;
auto b = 'c';
相当于把a自动设置为int型
b自动设置为字符型
默认的初始化的时候
C++ String 数组默认的初始化是""
string b;
if (b == "") {
cout << "Yes";
}
#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;
}
一句话总结,我认为这个引用就相当于给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;
}
类的定义一般放在头文件里,而且与类名同名
比如我们创建了一共名叫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);
Private 里面的东西只能被类本身所使用
Public 里面的内容随意的供他们使用
继承可以继承父类中非私有项
几个重要的语法糖
Student_Name::Student_Name(int HP,int Att) :Name(HP, Att)
//调用主类的构造方法的语法
class Student_Name :public Name
//继承本身的语法
声明 本文资料来源于网络和书籍,以上图文,贵在分享,版权归原作者以及原出处一切,内容为作者观念,并不代表本人附和其观念和对齐真实性负责,如伤害到您的利益,请您在评论下方留言
原文:https://www.cnblogs.com/a-small-Trainee/p/12400364.html