目录:
cmake 复习一下
文件结构:(两个实验)
文件内容:
Hello.h
#ifndef CMAKER_LEARNING_HELLO_H
#define CMAKER_LEARNING_HELLO_H
class Hello{
public:
void print();
};
#endif //CMAKER_LEARNING_HELLO_H
Hello.cpp
#ifndef CMAKER_LEARNING_HELLO_H
#define CMAKER_LEARNING_HELLO_H
class Hello{
public:
void print();
};
#endif //CMAKER_LEARNING_HELLO_H
main.cpp
#include "../include/Hello.h"
int main(int argc, char *argv[]) {
Hello hi;
hi.print();
return 0;
}
CMakeLists.txt
cmake_minimum_required(VERSION 3.5)
project(hello_headers)
set(
SOURCES
src/Hello.cpp
src/main.cpp
)
add_executable(hello_headers ${SOURCES})
target_include_directories(
hello_headers
PRIVATE
${PROJECT_SOURCE_DIR}/include
)
范例2:
目录:
文件:
Account.h
#ifndef CPP_REVIEW_ACCOUNT_H
#define CPP_REVIEW_ACCOUNT_H
#include <string>
class Account{
public:
void setName(const std::string&);
std::string getName() const;
private:
std::string name;
};
#endif //CPP_REVIEW_ACCOUNT_H
AccountTest.cpp
#include <string>
#include "../include/Account.h"
using namespace std;
std::string Account::getName() const {
return name;
}
void Account::setName(const string& accountName) {
name = accountName;
}
main.cpp
#include <iostream>
#include <string>
#include "../include/Account.h"
using namespace std;
int main() {
Account myAccount;
cout << "Initial account name is : " << myAccount.getName() << endl;
cout << "\nPlease enter the account name: ";
string theName;
getline(cin, theName);
myAccount.setName(theName);
cout << "Name in object myAccount is: " << myAccount.getName() << endl;
}
CMakelists.txt
cmake_minimum_required(VERSION 3.5)
project(cpp_review)
set(
SOURCES
src/AccountTest.cpp
src/main.cpp
)
add_executable(run_account ${SOURCES})
target_include_directories(
run_account
PRIVATE
${PROJECT_SOURCE_DIR}/include
)