C++自定义命名空间
关于C++自定义命名空间,今天验证了一下命名空间如何使用,和嵌套命名空间以及出现的bug。
- 如何自定义命名空间,实例如下:
insertion_sort.h和insertion_sort.cpp
#pragma once
#ifndef _INSERTION_SORT_
#define _INSERTION_SORT_ namespace insert{
class insertion_sort
{
public:
static void call(); //定义为类的静态函数,只是为了demo的时候方便调用
}; } #endif
#include<iostream>
#include"insertion_sort.h" void insert::insertion_sort::call()
{
std::cout<<"你调用的是插入算法"<<std::endl; //命名空间的使用和类相似 }
recursive.h和recursive.cpp
#pragma once
#ifndef _RECURSIVE_
#define _RECURSIVE_ namespace recur{
class recursive
{
public:
static void call();
};
} #endif
#include<iostream>
#include"recursive.h" void recur::recursive::call()
{
std::cout<<"你调用的是递归算法"<<std::endl; }
二者在主函数中的调用:
#include<iostream>
#include "insertion_sort.h"
#include"recursive.h" int main()
{ recur::recursive::call();
insert::insertion_sort::call(); }
2.嵌套命名空间
#pragma once
#ifndef _INSERTION_SORT_
#define _INSERTION_SORT_ namespace insert{
class insertion_sort
{
public:
static void call();
}; namespace hello{
void out()
{
std::cout<<"你现在调用的是hello函数"<<std::endl;
}
}
} #endif
//main.cpp
#include<iostream>
#include "insertion_sort.h" int main()
{ recur::recursive::call();
insert::hello::out(); }
当这样直接在VS2010上运行的时候,会出现bug:LNK1169: 找到一个或多个多重定义的符号,解决方法参考:http://blog.chinaunix.net/uid-25498312-id-4254097.html,我采用的是:.在项目->属性->链接器->命令行->附加选项中加 /force
C++自定义命名空间的更多相关文章
- android 自定义命名空间
一.统一的用户界面是可以使得应用程序更友好.要做到用户界面的统一,我们就必须用到风格(style)和主题(theme).自定义一个View的方法步骤如下:1.首先,在values文件夹下定义一个att ...
- 如何使用Jquery自定义命名空间namespace
// 把生成命名空间的方法绑定在jQuery上 jQuery.namespace = function () { var a = arguments, o = null, i, j, d; for ( ...
- android 自定义命名空间 http://schemas.android.com/apk/res-auto
XML中用 xmlns="http://schemas.android.com/apk/res-auto" 获取自定义属性值: public static String NAMES ...
- Android 自定义 attr
好纠结,弄了一个下午老是报错如是总结一下安卓自定视图和自定义属性. (一)自定义属性 在Values文件下建立一个attrs.xml文件,attr的format可以参考:http://www.cnbl ...
- 基于Spring的可扩展Schema进行开发自定义配置标签支持
一.背景 最近和朋友一起想开发一个类似alibaba dubbo的功能的工具,其中就用到了基于Spring的可扩展Schema进行开发自定义配置标签支持,通过上网查资料自己写了一个demo.今天在这里 ...
- VS2010 添加服务引用以后点不出引用服务的命名空间
声明:本次我遇到的仅是这类情况中的其中一个个例,不要拘泥于些噢! 问题描述: 1.我建了一个新项目,不引用服务前是好的,可以打点点出任何已有有命名空间,但是引用服务以后就是点不出服务的命名空间. 2. ...
- JAXB玩转命名空间
声明:如果你正在发愁xml命名空间及其前缀问题,那么请继续,否则请跳过 本文讲解使用jaxb结合dom4j的XMLFilterImpl过滤器实现序列化和反序列化的完全控制 主要实现以下功能 序列化及反 ...
- SilverLight命名空间详解-新手入门
1.核心命名空间 1.xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"是silverlight的核 ...
- spring schema自定义
今天看了一下分布式服务框架的那本书,于是里面提到了spring schema的自定义,于是去简单的了解了一下 参考资源:spring schema扩展: http://www.yihaomen.com ...
随机推荐
- MODULE_AUTHOR、MODULE_DESCRIPTION、MODULE_LICENSE宏
在阅读Linux Driver源码时,我们常常会在文件的结尾处看到诸如:MODULE_AUTHOR.MODULE_DESCRIPTION.MODULE_LICENSE等宏定义,这些宏主要是定义了一些模 ...
- Codeforces 482B Interesting Array(线段树)
题目链接:Codeforces 482B Interesting Array 题目大意:给定一个长度为N的数组,如今有M个限制,每一个限制有l,r,q,表示从a[l]~a[r]取且后的数一定为q,问是 ...
- 张冬:OpenPOWER CAPI为什么这么快?(二)
张冬:OpenPOWER CAPI为什么这么快?(二) PMC公司数据中心存储架构师张冬 有了CAPI的FPGA是怎么做的? 首先认识一下这个体系里的三个角色: AFU(Acceleration ...
- DevExpress GridView使用技巧之列标题点击事件
在这里使用GridView的MouseDown事件.这里同样使用的是GridHitInfo来获取点击位置的信息,来判断是否在列标题上.GridHitInfo根据鼠标点击的x.y坐标获取该点的相关信息, ...
- 蜗牛爱课 - iOS7、8模态半透明弹出框
//源Controller中跳转方法实现 MKDialogController *controller = [[MKDialogController alloc] init]; controller. ...
- OC-类
1.关于头文件 #include <stdio.h> #import <Foundation/Foundation.h> 区别:#import指令导入更快更有效率.#i ...
- unity3d在Android端读取修改Json数据
首先我们需要下载一个文件 LitJson.dll(下载链接 ps: 是用自己的百度云盘下载的如果链接过时,请留言或自行下载, 密码: 5foa) 另外,由于我们要发布到安卓手机上,所以需要配置Jar和 ...
- 《C++ Primer Plus 6th》读书笔记 - 第十章 对象和类
1. 过程性编程和面向对象编程 2. 抽象和类 1. 使用类对象的程序都可以直接访问公有部分,但只能通过公有成员函数(或友元函数)来访问对象的私有成员 2. 可以在类声明之外定义成员函数,并使其成为内 ...
- 转 jquery插件--241个jquery插件—jquery插件大全
241个jquery插件—jquery插件大全 jquery插件jqueryautocompleteajaxjavascriptcoldfusion jQuery由美国人John Resig创建,至今 ...
- Javascript 链式运动框架——逐行分析代码,让你轻松了解运动的原理
所谓链式运动,就是一环扣一环.我们的很多运动实际上来说指的就是分阶段的,第一个阶段动完,下个阶段开始动. 这个链式运动框架就是用来处理这些问题的. 我们先来看下之前的运动框架,以下是Javascrip ...