#include <iostream>
using namespace std;
class Base{
public:
virtual void print(){
cout << "Base\n";
}
};
class Derivada:public Base{
public:
void print(){
cout << "Derivada\n";
}
};
void main(){
Base base;
Base *b;
Derivada d;
b = &base;
b->print();
b = &d;
b->print();
system("pause");
}
domingo, 23 de janeiro de 2011
Exemplo de um método Remover em c++
void removerObjecto(const string &o){
Class *c=findObjecto(x);
if(c){
classes.erase(c);
delete c;
}
}
Etiquetas:
método remover,
método remover em c++,
remover em c++
Gestão de Salas em c++
#include <iostream>
#include <string>
#include "Coleccao.h"
using namespace std;
class Sala{
private:
string identificacao;
int lotacao;
Coleccao<Sala> salas;
public:
Sala(string i, int l){
identificacao=i;
lotacao=l;
}
string getSala(){
return(identificacao);
}
void setSala(string i, int l){
identificacao=i;
lotacao=l;
}
void print(){
cout<<identificacao<<", lotacao: "<<lotacao<<endl;
}
/*void listarSalas(){
cout<<"Lista de salas: \n";
Coleccao<Sala>::iterator it;
for(it=salas.begin(); it!=salas.end(); it++)
cout<<'\t'<<it->getSala()<<"\n";
}*/
};
class UnidadeC{
private:
string nome;
int numAlunos;
public:
UnidadeC(string n, int na){
nome=n;
numAlunos=na;
}
string getUnidadeC(){
return(nome);
}
void setUnidadeC(string n, int na){
nome=n;
numAlunos=na;
}
};
class Sala;
class UnidadeC;
class Aula{
private:
string hora;
Sala *salas;
UnidadeC *unidadesc;
public:
Aula(string h){
hora=h;
}
string getAula(){
return(hora);
}
void setAula(string h){
hora=h;
}
};
void main(){
Sala s1("Sala 1", 30);
Aula a1("14:00");
UnidadeC u1("POO", 23);
cout<<s1.getSala()<<endl;
s1.setSala("Sala 2", 40);
cout<<"Nome da Sala alterado para: "<<s1.getSala()<<endl;
cout<<"Aula de "<<u1.getUnidadeC()<<" as "<<a1.getAula()<<", leccionada na "<<s1.getSala()<<endl;
s1.print();
cout<<endl;
system("pause");
}
Saída Standard:
#include <string>
#include "Coleccao.h"
using namespace std;
class Sala{
private:
string identificacao;
int lotacao;
Coleccao<Sala> salas;
public:
Sala(string i, int l){
identificacao=i;
lotacao=l;
}
string getSala(){
return(identificacao);
}
void setSala(string i, int l){
identificacao=i;
lotacao=l;
}
void print(){
cout<<identificacao<<", lotacao: "<<lotacao<<endl;
}
/*void listarSalas(){
cout<<"Lista de salas: \n";
Coleccao<Sala>::iterator it;
for(it=salas.begin(); it!=salas.end(); it++)
cout<<'\t'<<it->getSala()<<"\n";
}*/
};
class UnidadeC{
private:
string nome;
int numAlunos;
public:
UnidadeC(string n, int na){
nome=n;
numAlunos=na;
}
string getUnidadeC(){
return(nome);
}
void setUnidadeC(string n, int na){
nome=n;
numAlunos=na;
}
};
class Sala;
class UnidadeC;
class Aula{
private:
string hora;
Sala *salas;
UnidadeC *unidadesc;
public:
Aula(string h){
hora=h;
}
string getAula(){
return(hora);
}
void setAula(string h){
hora=h;
}
};
void main(){
Sala s1("Sala 1", 30);
Aula a1("14:00");
UnidadeC u1("POO", 23);
cout<<s1.getSala()<<endl;
s1.setSala("Sala 2", 40);
cout<<"Nome da Sala alterado para: "<<s1.getSala()<<endl;
cout<<"Aula de "<<u1.getUnidadeC()<<" as "<<a1.getAula()<<", leccionada na "<<s1.getSala()<<endl;
s1.print();
cout<<endl;
system("pause");
}
Saída Standard:
Etiquetas:
C++,
gestao de salas,
gestão de salas em c++,
saída standard
sábado, 22 de janeiro de 2011
Troca de variáveis em c++, do tipo int, double e string.
Primeiro implementar o ficheiro "Troca.h"
template<class T>
void troca(T &a, T &b){
T aux;
aux = a;
a = b;
b = aux;
}
De seguida implementar o ficheiro "User.cpp"
#include<iostream>
#include<string>
#include"troca.h"
using namespace std;
void main(){
int n, k;
cout<<"Insira dois inteiros: ";
cin>>n>>k;
troca(n, k);
cout<<"Depois da troca: "<<n<< ' '<<k<<endl;
double x, y;
cout<<"Insira dois reais: ";
cin>>x>>y;
troca(x, y);
cout<<"Depois da troca: "<<x<< ' '<<y<<endl;
string s1, s2;
cout<<"Insira duas palavras: ";
cin>>s1>>s2;
troca(s1, s2);
cout<<"Depois da troca: "<<s1<< ' '<<s2<<endl;
system("pause");
}
Saída Standard:
template<class T>
void troca(T &a, T &b){
T aux;
aux = a;
a = b;
b = aux;
}
De seguida implementar o ficheiro "User.cpp"
#include<iostream>
#include<string>
#include"troca.h"
using namespace std;
void main(){
int n, k;
cout<<"Insira dois inteiros: ";
cin>>n>>k;
troca(n, k);
cout<<"Depois da troca: "<<n<< ' '<<k<<endl;
double x, y;
cout<<"Insira dois reais: ";
cin>>x>>y;
troca(x, y);
cout<<"Depois da troca: "<<x<< ' '<<y<<endl;
string s1, s2;
cout<<"Insira duas palavras: ";
cin>>s1>>s2;
troca(s1, s2);
cout<<"Depois da troca: "<<s1<< ' '<<s2<<endl;
system("pause");
}
Saída Standard:
Importante: Os dois ficheiros devem estar incluídos num só projecto.
Etiquetas:
saida standard,
troca,
troca de variáveis,
troca de variáveis em c,
variáveis
quinta-feira, 20 de janeiro de 2011
Exemplo de uma Herança em C++
#include<iostream>
#include<string>
using namespace std;
class Animal{
string nome;
public:
Animal(string n):nome(n){}
virtual string Especie() const=0;
static int Compativeis(const Animal &a1, const Animal &a2){
return a1.Especie()==a2.Especie();
}
};
class Gato: public Animal{
public:
Gato(string n):Animal(n){}
string Especie()const{
return("Gato");
}
};
class Cao: public Animal{
public:
Cao(string n):Animal(n){}
string Especie()const{
return("Cao");
}
};
void main(){
Gato *g1=new Gato("Mia");
Cao *c1=new Cao("Nely");
cout<<g1->Especie()<<endl;
cout<<c1->Especie()<<endl;
if(Animal::Compativeis(*g1, *c1))
cout<<"Compativeis"<<endl;
else
cout<<"Incompativeis"<<endl;
delete g1;
delete c1;
system("pause");
}
#include<string>
using namespace std;
class Animal{
string nome;
public:
Animal(string n):nome(n){}
virtual string Especie() const=0;
static int Compativeis(const Animal &a1, const Animal &a2){
return a1.Especie()==a2.Especie();
}
};
class Gato: public Animal{
public:
Gato(string n):Animal(n){}
string Especie()const{
return("Gato");
}
};
class Cao: public Animal{
public:
Cao(string n):Animal(n){}
string Especie()const{
return("Cao");
}
};
void main(){
Gato *g1=new Gato("Mia");
Cao *c1=new Cao("Nely");
cout<<g1->Especie()<<endl;
cout<<c1->Especie()<<endl;
if(Animal::Compativeis(*g1, *c1))
cout<<"Compativeis"<<endl;
else
cout<<"Incompativeis"<<endl;
delete g1;
delete c1;
system("pause");
}
Saída Standard:
Etiquetas:
C++,
herança,
herança em c++
quarta-feira, 19 de janeiro de 2011
Programa em C que faz uso dos parâmetros argv e argc
#include <stdio.h>
#include <stdlib.h>
void main(int argc, char *argv[])
{
int mes;
char *nomemes [] = {"Janeiro", "Fevereiro", "Março", "Abril", "Maio",
"Junho", "Julho", "Agosto", "Setembro", "Outubro",
"Novembro", "Dezembro"};
if(argc == 4) /* Testa se o numero de parametros fornecidos esta' correto
o primeiro parametro e' o nome do programa, o segundo o dia
o terceiro o mes e o quarto os dois ultimos algarismos do ano */
{
mes = atoi(argv[2]); /* argv contem strings. A string referente ao mes deve ser
transformada em um numero inteiro. A funcao atoi esta
sendo usada para isto: recebe a string e transforma no
inteiro equivalente */
if (mes<1 || mes>12) /* Testa se o mes e' valido */
printf("Erro!\nUso: data dia mes ano, todos inteiros");
else
printf("\n%s de %s de 19%s", argv[1], nomemes[mes-1], argv[3]);
}
else printf("Erro!\nUso: data dia mes ano, todos inteiros");
}
terça-feira, 18 de janeiro de 2011
Programa em C++ que define um contador
#include <iostream>
using namespace std;
class Contador{
int valor;
public:
Contador(){valor=0;}
Contador(int v){valor = v;}
void incrementar(){
valor++;
}
void decrementar(){
valor--;
}
int get(){
return valor;
}
};
void main(){
Contador c1;
Contador c2(10);
c1.incrementar();
c2.incrementar();
c1.incrementar();
c1.incrementar();
c2.incrementar();
Contador c3(c1);
c1.decrementar();
cout<<c1.get()<<"\n";
cout<<c2.get()<<"\n";
cout<<c3.get()<<"\n";
system("pause");
}
using namespace std;
class Contador{
int valor;
public:
Contador(){valor=0;}
Contador(int v){valor = v;}
void incrementar(){
valor++;
}
void decrementar(){
valor--;
}
int get(){
return valor;
}
};
void main(){
Contador c1;
Contador c2(10);
c1.incrementar();
c2.incrementar();
c1.incrementar();
c1.incrementar();
c2.incrementar();
Contador c3(c1);
c1.decrementar();
cout<<c1.get()<<"\n";
cout<<c2.get()<<"\n";
cout<<c3.get()<<"\n";
system("pause");
}
Etiquetas:
C++,
contador,
Contador em C++
Subscrever:
Mensagens (Atom)