003_linuxC++之_namespace使用

(一)引入namespace原因:

假如有很多跟人共同完成一项工程,工程中难免会有函数定义一样的名称,不可能一个一个的询问这个函数 你定义过了没有,所以引入namespace

#include <stdio.h>
#include "person.h"
#include "dog.h"

/*global namespace*/
/*把A::person放入global namespace,以后可以使用person来表示A::person*/
using namespace A;
using namespace C;


int main(int argc,char ** argv)
{
    /*local namespace*/
    Person per;
    Dog dog;
    per.setName("zhangsan");
    per.setAge(10);
    per.printInfo();

    dog.setName("lisi");
    dog.setAge(20);
    dog.printInfo();
    
    A::printVersion();
    C::printVersion();
    return 0;
}

main.cpp
#include <stdio.h>
namespace A{

class Person{
private:
    char *name;
    int age;
    char *work;

public:
    void setName(char *name);
    int setAge(int Age);
    void printInfo(void);
};

void printVersion(void);
}

person.h
#include <iostream>
#include "person.h"
using namespace std;

namespace A{
void Person::setName(char *name)
{
    this->name = name;
}
int Person::setAge(int Age)
{
    if(Age < 0 || Age > 150)
    {
        this->age = 0;
        return -1;
    }
    this->age = Age;
    return 0;
}
void Person::printInfo(void)
{
    cout<<"nane = "<<name<<"age = "<<age<<"work = "<<work<<endl;
    //intf("name = %s, age = %d, work = %s\n",name,age,work);
}

void printVersion(void)
{
    cout<<"Person V1, by luxiaoguo"<<endl;
    //intf("Person V1, by luxiaoguo\n");
}


}

person.cpp
namespace C{

class Dog{
private:
    char *name;
    int age;
    char *work;

public:
    void setName(char *name);
    int setAge(int age);
    void printInfo(void);
};

void printVersion(void);

}

dog.h
#include <stdio.h>
#include "dog.h"

namespace C{

void Dog::setName(char *name)
{
    this->name = name;
}
int Dog::setAge(int Age)
{
    if(Age < 0 || Age > 150)
    {
        this->age = 0;
        return -1;
    }
    this->age = Age;
    return 0;
}
void Dog::printInfo(void)
{
    printf("name = %s, age = %d, work = %s\n",name,age,work);
}

void printVersion(void)
{
    printf("Dog V1, by luxiaoguo\n");
}
}

dog.cpp

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值