Classes
Static Members
Static members belong to the class itself instead of one object.
Static Members
static_members.cpp
#include <iostream>
class Ticket {
private:
static int nextId;
int id;
public:
Ticket() {
id = nextId;
nextId++;
}
int number() {
return id;
}
static int nextNumber() {
return nextId;
}
};
int Ticket::nextId = 100;
int main() {
int ticketCount = ;
int lastNumber = 0;
for (int i = 0; i < ticketCount; i++) {
Ticket ticket;
lastNumber = ticket.number();
}
std::cout << "ticketCount=" << ticketCount << std::endl;
std::cout << "lastNumber=" << lastNumber << std::endl;
std::cout << "nextNumber=" << Ticket::nextNumber() << std::endl;
return 0;
}
#include <iostream>
class Ticket {
private:
static int nextId;
int id;
public:
Ticket() {
id = nextId;
nextId++;
}
int number() {
return id;
}
static int nextNumber() {
return nextId;
}
};
int Ticket::nextId = 100;
int main() {
int ticketCount = ;
int lastNumber = 0;
for (int i = 0; i < ticketCount; i++) {
Ticket ticket;
lastNumber = ticket.number();
}
std::cout << "ticketCount=" << ticketCount << std::endl;
std::cout << "lastNumber=" << lastNumber << std::endl;
std::cout << "nextNumber=" << Ticket::nextNumber() << std::endl;
return 0;
}
#include <iostream>
class Ticket {
private:
static int nextId;
int id;
public:
Ticket() {
id = nextId;
nextId++;
}
int number() {
return id;
}
static int nextNumber() {
return nextId;
}
};
int Ticket::nextId = 100;
int main() {
int ticketCount = ;
int lastNumber = 0;
for (int i = 0; i < ticketCount; i++) {
Ticket ticket;
lastNumber = ticket.number();
}
std::cout << "ticketCount=" << ticketCount << std::endl;
std::cout << "lastNumber=" << lastNumber << std::endl;
std::cout << "nextNumber=" << Ticket::nextNumber() << std::endl;
return 0;
}
static member
A static member is shared by every object of the class.