Boa tarde a todos,
eu já tenho uma boa experiência em Java e tomei a decisão de aprendar C++ apenas para obter mais conhecimento (sem contar que eu sempre quis aprender essa linguagem). Como eu já conheço o básico da linguagem como estruturas de repetição, variáveis, etc… decidi começar pelo POO.
Eu optei pelo meu primeiro exemplo que eu fiz em Java, um banco, que possui contas, clientes, etc…
Eis a classe conta:
Conta.cpp
#include <string>
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
class Conta {
private:
static const int QUANTIDADE_CONTA = 20;
static int contasCriadas;
unsigned int numeroConta;
double saldo;
string dono;
public:
static int contas[QUANTIDADE_CONTA]; //isso aqui é temporário, irei coloca-la na classe banco assim que eu cria-la
Conta(double saldoInicial, string donoInicial) {
srand(time(NULL));
saldo = saldoInicial;
dono = donoInicial;
numeroConta = rand();
contas[contasCriadas++] = numeroConta; //aqui da o erro
}
int getNumeroConta() {return numeroConta;}
void setNumeroConta(int novoNumeroConta) {numeroConta = novoNumeroConta;}
double getSaldo() {return saldo;}
void sacar(double valor) {saldo -= valor;}
void depositar(double valor) {saldo += valor;}
string getDono() {return dono;}
void setDono(string novoDono) {dono = novoDono;}
};
Quando eu tento compilar ele da o seguinte erro:
Eu pesquisei no Google e achei http://stackoverflow.com/questions/272900/c-undefined-reference-to-static-class-member
Mas não se aplica ao meu caso.
Informações adicionais: Estou usando Code::Blocks como IDE e o GNU GCC Compiler como compilador.