目录
Windows 10 + Ubuntu 20.04 + VS Code
1 文件结构
1.1 结构一
1.2 结构二
2 示例代码
2.1 main.cpp
#include "swap.h"
int main(int argc, char** argv)
{
swap myswap(10,100); //类实例化为对象
myswap.printInfo(); //打印交换前数值
myswap.run( ); //完成数据交换功能
myswap.printInfo();
return 0;
}
2.2 头文件swap.h
#pragma once //防止头文件重复包含
#include <iostream>
// 创建类实现
class swap
{
public:
//为私有变量赋值的构造函数
swap(int a, int b)
{
this->_a = a; //this指针,指示_a是类中的属性变量;
this->_b = b; //这样即使类外有重名的_a变量也不会搞混淆
}
//创建两个接口函数
void run(); //交换两个数
void printInfo(); //打印两个数
private:
int _a;
int _b;
};
2.3 源文件
#include "swap.h"
//实现两个数的交换
void swap::run( )
{
int temp;
temp=_a;
_a=_b;
_b=temp;
}
//实现两个数的值打印
void swap:: printInfo( )
{
std::cout<<"_a= "<<_a<<std::endl;
std::cout<<"_b= "<<_b<<std::endl;
}
2.4 CMakeLists.txt文件
2.4.1 文件结构一
使用aux_source_directory命令查找制定目录下所有的源文件,然后把结果保存进指定的变量名,语法格式为:
aux_source_directory(<dir> <variable>)
# CMake最低版本要求
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
# 项目信息
project(multi_files)
# 指定当前目录下的源文件,保存到<ALL_SRCS>变量中
aux_source_directory(. ALL_SRCS)
# 制定生成目标
add_executable (multi_files main.cpp swap.cpp ${ALL_SRCS})
2.4.1 文件结构二
多了一行include_directories
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
project(multi_files)
aux_source_directory(. ALL_SRCS)
include_directories(include)
add_executable (multi_files src/main.cpp src/swap.cpp ${ALL_SRCS})
3 运行方式
cd build
cmake ..
make
./multi_files