在VScode下的powershell下使用命令行编译运行c++文件:
首先,进入文件所在的路径地址:
编译生成.exe可执行文件的不同方式:
①不指定生成可执行文件的名称:
执行命令: g++ '.\6-19_test.cpp'
生成的可执行文件是: a.exe
继续在终端输入: .\a.exe (可以输入a. Tab键会自动补全)
② 指定生成可执行文件的名称:(希望得到的 6-19_test.exe)
更改生成指令为: g++ -o 6-19_test '.\6-19_test.cpp'
便可以得到生成的 6-19_test.exe 可执行文件
再输入: .\6-19_test.exe
同样可以运行程序
③ 直接通过VScode编译器运行生成exe问价
附: 运行c++代码:
/*
将动态数组封装成类,更加简洁,便于管理,也可以在访问数组元素前检查下标是否越界
*/
#include <iostream>
#include<cassert>
using namespace std;
class Point { // 创建点 类
public:
Point() : x(0), y(0) { // 默认构造函数
cout<<"Default Constructor called."<<endl;
}
Point(int x, int y):x(x),y(y){ // 构造函数
cout << "Constructor called."<< endl;
}
~Point() {
cout<<"Destructor called."<<endl;
}
int getX() const {return x;}
int getY() const {return y;}
void move(int newX, int newY){
x = newX;
y = newY;
}
private:
int x,y;
};
class ArrayOfPoints{ // 动态数组类
public:
ArrayOfPoints(int size):size(size){ // 构造函数
points = new Point[size];
}
~ArrayOfPoints(){ // 析构函数,释放动态内存
cout << " Deleting...... " << endl;
delete[] points;
}
Point&element(int index){ //在不超出范围的情况下,返回数组索引值(返回的是 引用 类型,可以进行修改)
assert(index >=0 && index < size);
return points[index];
}
private:
Point *points; // 指向动态数组首地址
int size; // 数组 大小
};
int main (){
int count;
cout << " 请输入创建点的个数:" ;
cin >> count;
ArrayOfPoints points(count); // 创建数组对象
points.element(0).move(5,0); // 访问数组元素的成员
points.element(1).move(13,29); // 访问数组元素的成员 (这里,element函数返回对象的引用,已经改变了封装以后数组内部的元素)
//system("pause");
return 0;
}