C++Ãû×Ö¿Õ¼ä/C++ÃüÃû¿Õ¼ä

·¢±íÓÚ£º2014-10-16 13:50

×ÖÌ壺´ó ÖРС | ÉÏһƪ | ÏÂһƪ | ÎÒҪͶ¸å

 ×÷ÕߣºLubinLew    À´Ô´£º51TestingÈí¼þ²âÊÔÍø²É±à

·ÖÏí£º
¡¡¡¡7¡¢usingÉùÃ÷ ºÍ usingָʾ
¡¡¡¡Ê¹ÓÃusingÉùÃ÷ ºÍ usingָʾ µÄºÃ´¦¾ÍÊÇ¿ÉÒÔʹÓÃʹÓÃÃû×Ö¿Õ¼äÖгÉԱʱ£¬²»±Ø¼ÓÉÏÃû×Ö¿Õ¼äµÄ×÷ÓÃÓò¡£
¡¡¡¡using std::cout; //usingÉùÃ÷
¡¡¡¡using namespace std; //usingָʾ
¡¡¡¡7.1¡¢usingÉùÃ÷(using declaration)
¡¡¡¡Ò»¸ö using ÉùÃ÷Ò»´ÎÖ»ÒýÈëÒ»¸öÃüÃû¿Õ¼ä³ÉÔ±¡£
¡¡¡¡using ÉùÃ÷µÄ×÷ÓÃÓò´Ó using ÉùÃ÷µã¿ªÊ¼,Ö±µ½°üº¬ using ÉùÃ÷µÄ×÷ÓÃÓòµÄĩβ,Ãû×Ö¶¼ÊǿɼûµÄ¡£Íⲿ×÷ÓÃÓòÖж¨ÒåµÄͬÃûʵÌå±»ÆÁ±Î¡£
¡¡¡¡using ÉùÃ÷¿ÉÒÔ³öÏÖÔÚÈ«¾Ö¡¢¾Ö²¿¡¢ÀàµÄ×÷ÓÃÓò ºÍ Ãû×Ö¿Õ¼äÖС£ÔÚÀà×÷ÓÃÓòÖÐusingÉùÃ÷Ö»ÄÜÒýÓûùÀà³ÉÔ±¡£
//using declaration in Global Scope
#include <iostream>
using std::cout;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//usingÉùÃ÷
using std::endl;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//usingÉùÃ÷
int main(void)
{
cout<<"Hello World"<<endl;
return 0;
}
//using declaration in Local Scope
#include <iostream>
void func(void)
{
using std::cout;
using std::endl;
cout << "Using Declarations In Function"<<endl;
}
int main()
{
func();
//  cout << "Hello" <<endl; //error: ¡®cout¡¯ and ¡®endl¡¯ were not declared in this scope
return 0;
}
//using declaration in Class Scope
#include <stdio.h>
class B
{
public:
void f(void) {printf("In B::f()\n");}
void g(void) {printf("In B::g()\n");}
};
class C
{
public:
void g() {printf("In C::g()\n");};
};
class D : public B
{
public:
using B::f;      // OK: B is a base of D2
using B::g;      // OK: B is a base of D2
// using C::g;      // error: C isn't a base of D2
};
int main(void)
{
D MyD;
MyD.f();
MyD.g();
}
//using declaration in Namespce
#include <iostream>
namespace MyNames
{
using std::string;
using std::cout;
using std::endl;
string str;
void func(void){cout << "Hello"<<endl;}
}
int main(void)
{
MyNames::func();
return 0;
}
¡¡¡¡7.2¡¢usingָʾ(using directive)
¡¡¡¡using ָʾʹµÃÕû¸öÃû×Ö¿Õ¼äÖеijÉÔ±¶¼¿É¼û¡£
¡¡¡¡using ָʾ¿ÉÒÔ³öÏÖÔÚÈ«¾Ö¡¢¾Ö²¿µÄ×÷ÓÃÓò ºÍ Ãû×Ö¿Õ¼äÖУ¬²»»á³öÏÖÔÚÀàµÄ×÷ÓÃÓòÖС£
//using directive in Global Scope
#include <iostream>
using namespace std;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//usingָʾ
int main(void)
{
cout<<"Hello World"<<endl;
return 0;
}
//using directive in Local Scope
#include <iostream>
void func(void)
{
using namespace std;
cout << "Using Declarations In Function"<<endl;
}
int main()
{
func();
//  cout << "Hello" <<endl; //error: ¡®cout¡¯ and ¡®endl¡¯ were not declared in this scope
return 0;
}
//using declaration in Namespce
#include <iostream>
namespace MyNames
{
using namespace std;
string str;
void func(void){cout << "Hello"<<endl;}
}
int main(void)
{
MyNames::func();
//    cout<<"Hello"<<endl; //error: ¡®cout¡¯ and ¡®endl¡¯ were not declared in this scope
return 0;
}
¡¡¡¡7.3¡¢±ÜÃâʹÓÃusingָʾ
¡¡¡¡using ָʾעÈëÀ´×ÔÒ»¸öÃüÃû¿Õ¼äµÄËùÓÐÃû×Ö,Õâ¸ö·½·¨¿´ËƼòµ¥,µ«ÊÇÈç¹ûÓ¦ÓóÌÐòʹÓÃÐí¶à¿â,²¢ÇÒÓà using ָʾʹµÃÕâЩ¿âÖеÄÃû×ֿɼû,ÄÇô,È«¾ÖÃüÃû¿Õ¼äÎÛȾÎÊÌâ¾ÍÖØгöÏÖ¡£
¡¡¡¡Ïà¶ÔÓÚÒÀÀµÓÚ using ָʾ,¶Ô³ÌÐòÖÐʹÓõÄÿ¸öÃüÃû¿Õ¼äÃû×ÖʹÓÃusing ÉùÃ÷¸üºÃ,ÕâÑù×ö¼õÉÙ×¢Èëµ½ÃüÃû¿Õ¼äÖеÄÃû×ÖÊýÄ¿,ÓÉ using ÉùÃ÷ÒýÆðµÄ¶þÒåÐÔ´íÎóÈÝÒ×·¢ÏÖºÍÐÞÕý¡£
¡¡¡¡8¡¢×ÛºÏÓ¦ÓþÙÀý
////file : mynames.hpp
#ifndef MYNAMES__HPP_
#define MYNAMES__HPP_
namespace MyNames
{
//Member:Variable
extern int iVal;
//Member:Class
class MyString
{
public:
MyString(const std::string&);
void OutputString(void);
private:
std::string str;
};
//Member:Function
void NormalFunc(void);
//Member:Struct
struct st_Names
{
char ch;
int count;
};
//Member:Union
union un_Names
{
char ch;
int count;
};
//Member:enum
enum en_Names
{
ZERO,
ONE,
TWO
};
}
#endif /* MYNAMES__HPP_ */
//------------------------------------------------------------------------------------------------------------
//file : mynames.cpp
#include <iostream>
#include "mynames.hpp"
namespace MyNames
{
int iVal = 100;
MyString::MyString(const std::string& refstr)
{
str = refstr;
}
void MyString::OutputString(void)
{
std::cout << str << std::endl;
}
void NormalFunc(void)
{
std::cout << "NormalFunc" << std::endl;
}
}
//-------------------------------------------------------------------------------------------------------------
//file : example.cpp
#include <iostream>
#include "mynames.hpp"
namespace Name = MyNames;
using namespace Name;
int main(void)
{
std::cout<<iVal<<std::endl;
std::cout<<Name::iVal<<std::endl;
std::cout<<MyNames::iVal<<std::endl;
MyNames::MyString mystr("Hello");
mystr.OutputString();
MyNames::NormalFunc();
MyNames::st_Names myst;
myst.count = 0;
MyNames::en_Names myen;
myen = MyNames::ZERO;
MyNames::un_Names myun;
myun.count = 1;
return 0;
}
33/3<123
¼ÛÖµ398ÔªµÄ²âÊԿγÌÃâ·ÑÔùËÍ£¬ÌîÎʾíÁìÈ¡°É£¡

¹Ø×¢51Testing

ÁªÏµÎÒÃÇ

¿ì½ÝÃæ°å Õ¾µãµØͼ ÁªÏµÎÒÃÇ ¹ã¸æ·þÎñ ¹ØÓÚÎÒÃÇ Õ¾³¤Í³¼Æ

·¨ÂɹËÎÊ£ºÉϺ£äîϪÂÉʦÊÂÎñËù ÏîÆåÂÉʦ
°æȨËùÓÐ ÉϺ£²©Îª·åÈí¼þ¼¼Êõ¹É·ÝÓÐÏÞ¹«Ë¾ Copyright©51testing.com 2003-2022
ͶËß¼°Òâ¼û·´À¡£ºwebmaster@51testing.com; ÒµÎñÁªÏµ£ºservice@51testing.com 021-64471599-8017

»¦ICP±¸05003035ºÅ

»¦¹«Íø°²±¸ 31010102002173ºÅ