1 C++标准支持 C++的通用库
#include <iostream>
2 命名空间 C++ 的特性
using namespace std;
3 C++ 里面可以调用 C 语言 反之不行
4 输出打印
void funtion04(){
cout << "Hello C++" << endl ;
// cout 输出的指令 ,类似C语言的 printf
cout << "第二条 ++" ;
cout << "第三条 ++" ;
// << endl 类似C语言的 \n ;
cout << endl ;
// 输入内容 << 后跟字符串 ,多个字符串可以通过 多个<< 拼接
cout << "拼接第一条 ,- " << "拼接第二条。";
// 任意地方 输入 << endl 都会换行
cout << endl <<"第一次换行" << endl << "第二次换行";
}
E:\C\Project\C++\cmake-build-debug\C__.exe
Hello C++
第二条 ++第三条 ++
拼接第一条 ,- 拼接第二条。
第一次换行
第二次换行
Process finished with exit code 0
5 C++ 中的常量无法更改 C语言可以
6 C++ 中的数字的交换,通过引用
void numberChangeForC_add_add(int & number , int & number2){
int temp = number;
number = number2;
number2 = temp;
}
void funtion06(){
int number = 100;
int number2 = 200 ;
numberChangeForC_add_add(number,number2);
cout << "number = " << number << " number2 = " << number2 << endl ;
}
E:\C\Project\C++\cmake-build-debug\C__.exe
number = 200 number2 = 100
Process finished with exit code 0
6.2 C中的数字的交换,通过指针操作
void numberChangeForC(int * number , int * number2){
int temp = * number ;
* number = *number2 ;
*number2 = temp ;
}
void funtion06_2(){
int number = 100;
int number2 = 200 ;
numberChangeForC(&number,&number2);
cout << "number = " << number << " number2 = " << number2 << endl ;
}
E:\C\Project\C++\cmake-build-debug\C__.exe
number = 200 number2 = 100
Process finished with exit code 0
7 引用的原理
void funtion07(){
int number = 100;
// 引用 可以理解为定义一个新的别名 ,让然指向之前的地址 。
int & num3 = number ;
// 多个引用也会指向同一个地址
int & num4 = number ;
cout << "number = " << number << endl ;
cout << "num3 = " << num3 << endl ;
cout << "num4 = " << num4 << endl ;
// 对其中一个进行修改,所有引用于原值都会改变
num3 = 200;
cout << "number = " << number << endl ;
cout << "num3 = " << num3 << endl ;
cout << "num4 = " << num4 << endl ;
}
E:\C\Project\C++\cmake-build-debug\C__.exe
number = 100
num3 = 100
num4 = 100
number = 200
num3 = 200
num4 = 200
Process finished with exit code 0
8 C++ 中 const Person & person 为常量引用 ,该变量无法修改只能使用
9 C语言是不支持函数重载的 C++支持
int add(int number1, int number2) {
return number1+number2;
}
int add(int number1, int number2, int number3) {
return number1+number2+number3;
}
int main(){
int a = add(1,2);
int a2 = add(1,2,3);
cout << "a = " << a << endl;
cout << "a2 = " << a2 << endl;
return 0 ;
}
E:\C\Project\C++\cmake-build-debug\C__.exe
a = 3
a2 = 6
Process finished with exit code 0
10 C++ 中函数支持 默认值 (默认值 重构是 部分时候会有冲突)
int add(int number1, int number2 = 20, int number3 = 30,int number4 = 40) {
return number1+number2+number3+number4;
}
int main(){
int a = add(7,2);
int a2 = add(1,2,3);
int a3 = add(5);
cout << "a = " << a << endl;
cout << "a2 = " << a2 << endl;
cout << "a3 = " << a3 << endl;
return 0 ;
}
E:\C\Project\C++\cmake-build-debug\C__.exe
a = 79
a2 = 46
a3 = 95
Process finished with exit code 0
10 C++ 定义函数 (为以后扩展)
// 前期先抽象出现,我后面再升级
// 后面你可以扩展
void JNIMethod(double, double, int, int) {
}
11 C++ 中 实现一个类需要实现 .h/.hpp 文件头 和 .cpp 实现类
PersonClass.h
//
// Created by admin on 2021/7/26.
//
#ifndef C___PERSONCLASS_H
#define C___PERSONCLASS_H
class PersonClass {
private:
char * name ;
int age ;
public:
void setName(char * name);
void setAge(int age);
char * getName();
int getAge();
};
#endif //C___PERSONCLASS_H
PersonClass.cpp
//
// Created by admin on 2021/7/26.
//
#include "PersonClass.h"
void PersonClass::setName(char * name){
this->name = name;
}
void PersonClass::setAge(int age){
this->age = age;
}
char * PersonClass::getName(){
return this->name;
}
int PersonClass::getAge(){
return this->age;
}
#include "PersonClass.h"
void funtionPerson(){
/*
* 栈空间内操作值
*/
PersonClass per ;
per.setAge(34);
per.setName("桃白白");
cout << "姓名 : " << per.getName() << " 年龄 :" << per.getAge() << endl;
/*
* 堆空间内操作值
*/
PersonClass * newPer = new PersonClass();
newPer->setName("欧安安");
newPer->setAge(12);
cout << "姓名 : " << newPer->getName() << " 年龄 :" << newPer->getAge() << endl;
// 不能与0 或 NULL 则回收内存
if (newPer){
delete newPer;
newPer = NULL ;
}
}
E:\C\Project\C++\cmake-build-debug\C__.exe
姓名 : 桃白白 年龄 :34
姓名 : 欧安安 年龄 :12
Process finished with exit code 0