Probleme avec "using namespace std"
Bonjour ,
j'ai un probleme avec using namespace std; que j'utilise dans mon programme
j'utilise pourtant souvent using namespace std mais là je ne sais pas du tout ,j'ai aussi regardé dans la FAQ mais aucun resultat.merci de votre aide.
le compilateur me dit:
Erreur C2653: 'std'*: n'est pas un nom de classe ni d'espace de noms
Erreur C2676: '<<'*binaire : 'ostream' ne définit pas cet opérateur ou une conversion vers un type acceptable pour l'opérateur prédéfini
Erreur C2065: 'cout'*: identificateur non déclaré
Erreur C2065: 'endl'*: identificateur non déclaré
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
| // Person-3.h
// Person class definition
#ifndef __Person_3_h__
#define __Person_3_h__
// class dependencies
using namespace std;
class ostream;
class Person
{
// Attributes
public:
const char* get_first_name() const;
// returns this person first name.
void set_first_name(const char* new_first_name);
// changes this person first name.
const char* get_last_name() const;
// returns this person last name.
void set_last_name(const char* new_last_name);
// changes this person last name.
int get_age() const;
// returns this person age.
void set_age(int new_age);
// changes this person age.
// Operations
public:
virtual void print(std::ostream& out) const;
// dumps object properties to specified output stream.
// Implementation
public:
Person();
// constructs a not initialized (then invalid) person.
Person(const Person& source_person);
// constructs a person by duplicating an another one.
Person(const char* first_name, const char* last_name, int age);
// constructs a valid person.
virtual ~Person();
// frees this person and its allocated resources.
Person& operator=(const Person& source_person);
// overrides = operator for copy purpose.
protected:
char* _first_name;
// this person first name (dynamic string).
char* _last_name;
// this person last name (dynamic string).
int _age;
// this person age.
};
// Inline functions implementation
inline const char* Person::get_first_name() const
{
// returns person first name attribute
cout << this << ".Person::get_first_name(); called" << endl;
return _first_name;
}
inline const char* Person::get_last_name() const
{
// returns person last name attribute
cout << this << ".Person::get_last_name(); called" << endl;
return _last_name;
}
inline int Person::get_age() const
{
// returns person age attribute
cout << this << ".Person::get_age(); called" << endl;
return _age;
}
inline void Person::set_age(int new_age)
{
// sets person age attribute
cout << this << ".Person::set_age(new_age = \""
<< new_age << "\"); called" << endl;
_age = new_age;
}
#endif // __Person_3_h__ |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
| // Person class implementation
#include <stdlib.h>
#include <iostream>
#include <stdafx.h>
#include <String.h>
#include "Person-3.h"
void Person::set_first_name(const char* new_first_name)
{
// sets person first name attribute
cout << this << ".Person::set_first_name(new_first_name = \""
<< new_first_name << "\"); called" << endl;
// delete previous first name if any
if (_first_name != NULL)
delete [] _first_name;
// make an internal copy of passed string
_first_name = new char [strlen(new_first_name) + 1];
strcpy(_first_name, new_first_name);
}
void Person::set_last_name(const char* new_last_name)
{
// sets person last name attribute
cout << this << ".Person::set_last_name(new_last_name = \""
<< new_last_name << "\"); called" << endl;
// delete previous last name if any
if (_last_name != NULL)
delete [] _last_name;
// make an internal copy of passed string
_last_name = new char [strlen(new_last_name) + 1];
strcpy(_last_name, new_last_name);
}
void Person::print(std::ostream& out) const
{
// outputs person attributes
cout << this << ".Person::print(out = " << &out << "); called" << endl;
// output person info on specified output console
out << _first_name << " " << _last_name << ", ";
out << _age << " ans." << endl;
}
Person::Person()
{
// constructs a not yet valid person
cout << "Person::Person() called to construct " << this << endl;
// set person initial state
_first_name = NULL;
_last_name = NULL;
_age = -1;
}
Person::Person(const Person& source_person)
{
// constructs a valid person by cloning
cout << "Person::Person(source_person = "
<< &source_person << ") called to construct " << this << endl;
// set person initial state
_first_name = NULL;
_last_name = NULL;
_age = -1;
// create person by cloning the specified one
operator=(source_person);
}
Person::Person(const char* first_name, const char* last_name,
int age)
{
// constructs a valid person from parameters
cout << "Person::Person(first_name = \"" << first_name
<< "\", last_name = \"" << last_name << "\", age = " << age
<< ") called to construct " << this << endl;
// create person from passed parameters
_first_name = NULL;
set_first_name(first_name);
_last_name = NULL;
set_last_name(last_name);
_age = age;
}
Person::~Person()
{
// destructs this person
cout << "Person::~Person() called to destruct " << this << endl;
// free allocated resources
if (_first_name != NULL)
delete [] _first_name;
if (_last_name != NULL)
delete [] _last_name;
}
Person& Person::operator=(const Person& source_person)
{
// sets person attributes by cloning
cout << this << ".Person::operator=(source_person = "
<< &source_person << ") called" << endl;
// set this person attributes by cloning the passed person
set_first_name(source_person._first_name);
set_last_name(source_person._last_name);
_age = source_person._age;
return *this;
} |