This commit is contained in:
Leon Wilzer 2022-11-10 10:41:51 +01:00
parent cc53df2dab
commit c06e72fca1
3 changed files with 24 additions and 16 deletions

View File

@ -1,27 +1,29 @@
export BUILD_CMD=clang++ -Wall -std=c++17 -Wall -Wextra
setup:
mkdir build
sheet0:
g++ src/sheet0.cpp -o ./build/sheet0
${BUILD_CMD} src/sheet00.cpp -o build/sheet0
chmod +x build/sheet0
build/sheet0
sheet01:
g++ src/sheet01.cpp -o ./build/sheet01
${BUILD_CMD} src/sheet01.cpp -o build/sheet01
chmod +x build/sheet01
build/sheet01
sheet02:
g++ src/sheet02.cpp -o ./build/sheet02
${BUILD_CMD} src/sheet02.cpp -o build/sheet02
chmod +x build/sheet02
build/sheet02
sheet03:
g++ src/sheet03.cpp -o ./build/sheet03
${BUILD_CMD} src/sheet03.cpp src/MyType.cpp -o build/sheet03
chmod +x build/sheet03
build/sheet03
pizza:
g++ src/pizza.cpp -o ./build/pizza
${BUILD_CMD} src/pizza.cpp -o build/pizza
chmod +x build/pizza
build/pizza

View File

@ -1,11 +1,9 @@
#include "../headers/MyType.h"
#include <string>
std::string name;
unsigned age;
MyType(std::string n, unsigned a) : name(n), age(a) {std::cout << "ctor\n";}
~MyType() {}
MyType(const MyType &t) { std::cout << "copy ctor\n";}
MyType& operator= (const MyType &t) { std::cout << "copy ass ctor\n"; return *this;}
MyType(MyType &&t){std::cout << "move ctor\n";}
MyType& operator= (MyType &&t) { std::cout << "move ass ctor\n"; return t;}
#include <iostream>
MyType::MyType(std::string n, unsigned a) : name(n), age(a) {std::cout << "ctor\n";}
MyType::~MyType() {std::cout << "dtor \n";}
MyType::MyType(const MyType &t) { std::cout << "copy ctor\n";}
MyType& MyType::operator= (const MyType &t) { std::cout << "copy ass ctor\n"; return *this;}
MyType::MyType(MyType &&t){std::cout << "move ctor\n";}
MyType& MyType::operator= (MyType &&t) { std::cout << "move ass ctor\n"; return t;}

View File

@ -2,8 +2,12 @@
#include <iostream>
#include "../headers/MyType.h"
int calculate(const char &argv)
{
int main()
}
int main(int argc, char **argv)
{
MyType j("jj", 69);
MyType cj(j);
@ -12,5 +16,9 @@ int main()
MyType mj(std::move(j));
MyType maj("jj", 69);
maj = std::move(cj);
if(argc == 4)
{
calculate(argv);
}
return 0;
}
}