Classes
Constructors
A constructor initializes a new object when it is created.
constructor
A constructor has the same name as the class and runs automatically for each new object.
Constructors
constructors.cpp
Replay: real traced execution (multi-file project)
#include <iostream>
#include <string>
class Player {
public:
std::string name;
int score;
Player(std::string playerName, int startingScore) {
name = playerName;
score = startingScore;
}
};
int main() {
std::string name = "Ada";
int startingScore = 10;
Player player(name, startingScore);
std::cout << "player=" << player.name << std::endl;
std::cout << "score=" << player.score << std::endl;
return 0;
}
#include <iostream>
#include <string>
class Player {
public:
std::string name;
int score;
Player(std::string playerName, int startingScore) {
name = playerName;
score = startingScore;
}
};
int main() {
std::string name = "Bjarne";
int startingScore = 10;
Player player(name, startingScore);
std::cout << "player=" << player.name << std::endl;
std::cout << "score=" << player.score << std::endl;
return 0;
}
#include <iostream>
#include <string>
class Player {
public:
std::string name;
int score;
Player(std::string playerName, int startingScore) {
name = playerName;
score = startingScore;
}
};
int main() {
std::string name = "Grace";
int startingScore = 10;
Player player(name, startingScore);
std::cout << "player=" << player.name << std::endl;
std::cout << "score=" << player.score << std::endl;
return 0;
}
#include <iostream>
#include <string>
class Player {
public:
std::string name;
int score;
Player(std::string playerName, int startingScore) {
name = playerName;
score = startingScore;
}
};
int main() {
std::string name = "Ada";
int startingScore = 0;
Player player(name, startingScore);
std::cout << "player=" << player.name << std::endl;
std::cout << "score=" << player.score << std::endl;
return 0;
}
#include <iostream>
#include <string>
class Player {
public:
std::string name;
int score;
Player(std::string playerName, int startingScore) {
name = playerName;
score = startingScore;
}
};
int main() {
std::string name = "Ada";
int startingScore = 25;
Player player(name, startingScore);
std::cout << "player=" << player.name << std::endl;
std::cout << "score=" << player.score << std::endl;
return 0;
}
name ← Ada, startingScore ← 10
15int main() {16 std::string name→ Ada = "Ada"; //@name="Bjarne", "Grace"17 int startingScore→ 10 = 10; //@startingScore=0, 251819 Player player(nameAda, startingScore);score ← 10
9Player(std::string playerNameAda, int startingScore10) {10 name = playerNameAda;11 score→ 10 = startingScore10;12}player ← (empty)
19 Player player→ (empty)(nameAda, startingScore);2021 std::cout << "player=" << player(empty).name << std::endl;22 std::cout << "score=" << player(empty).score << std::endl;23 return 0;24}outputplayer=Ada score=10
name ← Bjarne, startingScore ← 10
15int main() {16 std::string name→ Bjarne = "Bjarne";17 int startingScore→ 10 = 10;1819 Player player(nameBjarne, startingScore);score ← 10
9Player(std::string playerNameBjarne, int startingScore10) {10 name = playerNameBjarne;11 score→ 10 = startingScore10;12}player ← (empty)
19 Player player→ (empty)(nameBjarne, startingScore);2021 std::cout << "player=" << player(empty).name << std::endl;22 std::cout << "score=" << player(empty).score << std::endl;23 return 0;24}outputplayer=Bjarne score=10
name ← Grace, startingScore ← 10
15int main() {16 std::string name→ Grace = "Grace";17 int startingScore→ 10 = 10;1819 Player player(nameGrace, startingScore);score ← 10
9Player(std::string playerNameGrace, int startingScore10) {10 name = playerNameGrace;11 score→ 10 = startingScore10;12}player ← (empty)
19 Player player→ (empty)(nameGrace, startingScore);2021 std::cout << "player=" << player(empty).name << std::endl;22 std::cout << "score=" << player(empty).score << std::endl;23 return 0;24}outputplayer=Grace score=10
name ← Ada, startingScore ← 0
15int main() {16 std::string name→ Ada = "Ada";17 int startingScore→ 0 = 0;1819 Player player(nameAda, startingScore);Player(std::string playerName, int startingScore)
9Player(std::string playerNameAda, int startingScore0) {10 name = playerNameAda;11 score0 = startingScore0;12}player ← (empty)
19 Player player→ (empty)(nameAda, startingScore);2021 std::cout << "player=" << player(empty).name << std::endl;22 std::cout << "score=" << player(empty).score << std::endl;23 return 0;24}outputplayer=Ada score=0
name ← Ada, startingScore ← 25
15int main() {16 std::string name→ Ada = "Ada";17 int startingScore→ 25 = 25;1819 Player player(nameAda, startingScore);score ← 25
9Player(std::string playerNameAda, int startingScore25) {10 name = playerNameAda;11 score→ 25 = startingScore25;12}player ← (empty)
19 Player player→ (empty)(nameAda, startingScore);2021 std::cout << "player=" << player(empty).name << std::endl;22 std::cout << "score=" << player(empty).score << std::endl;23 return 0;24}outputplayer=Ada score=25