`
zha_zi
  • 浏览: 593035 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

C++系列 static用法

 
阅读更多

定义了头文件#include<vector>

#include"Student.h"
#ifndef DB_TONY
#define DB_TONY
using namespace std;
class DB
{

public:
    static vector<Student> v;
	void insert(Student stu);
	vector<Student> query(Student stu);
	vector<Student> query();
	void del(Student stu);
	Student getStu(int id);
};
#endif

 也定义了student.cpp 的实现类

但是在其他地方只要是引用 静态类型v 编译都会报错,感觉很奇怪实在不知道是什么原因 ,通过一次次代码测试最后在实现类中#include "DB.h"

#include"Student.h"
#include <vector>
#include <iterator>


/**
这里是原先没有的
*/
vector<Student> DB::v;


void DB::del(Student stu)
{
	vector<Student>::iterator itStart=v.begin();
	vector<Student>::iterator itEnd=v.end();

	for(;itStart!=itEnd;++itStart)
	{
		Student s=*itStart;
		if(s.getId()==stu.getId())
		{
			v.erase(itStart);
		}
	}
}
void DB::insert(Student stu)
{
	v.push_back(stu);
}
vector<Student>DB:: query()
{
	return v;
}
vector<Student>DB::query(Student stu)
{
	vector<Student> vTemp;
	return vTemp;
}

Student DB::getStu(int id)
{
	Student *st=NULL;
	vector<Student>::iterator itStart=v.begin();
	vector<Student>::iterator itEnd=v.end();
	for(;itStart!=itEnd;++itStart)
	{
		Student s=*itStart;
		if(s.getId()==id)
		{
			return s;
		}
	}
	return *st;
}

 静态类型的对象必须要在实现中从新定义才可以使用

分享到:
评论

相关推荐

    C++中Static的使用方法

    ### C++中Static的使用方法详解 #### 一、Static的基本概念 1. **什么是Static?** - `static`是C++中的一个重要关键字,主要用于控制变量的存储方式和可见性。 - 在C++中,`static`可以用于局部变量、全局变量...

    C++关键字之static的基本用法

    在实际编程中,正确理解和使用`static`关键字能帮助我们编写更高效、安全的C++代码。通过以上讨论,你应该对`static`的关键字有了深入的理解,但要记住,实际运用时还需要根据具体需求来选择合适的方式。

    C++ static 用法总结

    C++ static 用法总结 静态变量是 C++ 中的一个重要概念,它有多种使用方式,今天我们就来总结一下 C++ 中的静态变量用法。 一、局部静态变量 在 C/C++ 中,局部变量可以分为三种:auto、static 和 register。与 ...

    C++中的static关键字.doc

    C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。

    c和c++中static,const的一些见解

    理解并正确使用`static`和`const`对于编写高效、安全的C和C++代码至关重要。它们不仅可以帮助优化内存使用,还能提高代码的可读性和维护性。在实际编程中,根据具体情况选择合适的应用场景,是每个专业程序员必须...

    C/C++中static作用

    ### C/C++中static作用深度解析 在C/C++编程语言中,`static`关键字扮演着多重角色,根据上下文的不同,它具有不同的含义和功能...理解`static`的不同用法和特性,对于编写高效、健壮和易于维护的C/C++程序至关重要。

    C++ static关键字的原理及用法详解

    ### C++ `static` 关键字的原理及用法详解 #### 一、引言 在C++编程语言中,`static`关键字扮演着至关重要的角色。它不仅可以用来控制变量和函数的可见性和生命周期,还能在类的设计中发挥独特的作用。正确地理解...

    C/C++中static,const,inline三种关键字详细总结

    一、关于staticstatic 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性,下面我将从 static 修饰符的产生原因、作用谈起,全面分析static 修饰符的实质。 static 的两大作用: 一、控制存储方式 static...

    static变量和static函数的用法摘抄

    总结来说,`static`关键字在C++中扮演着多种角色,从控制变量的生命周期和作用域,到限制函数的可见性和使用范围,体现了C++中封装和信息隐藏的设计原则。理解并恰当地使用`static`,有助于编写更高效、更安全的代码...

    详解C++中static的用法

    要明白这个用法,我们首先要了解c/c++的内存分布,以及static所在的区间。 对于一个完整的程序,在内存中的分布情况如下图:  1.栈区: 由编译器自动分配释放,像局部变量,函数参数,都是在栈区。会随着作用于退出...

    visual c++ led效果static 控件类源码

    在本文中,我们将深入探讨如何使用Visual C++中的CStatic控件进行LED效果的实现,以及如何通过继承CStatic类创建自定义的类来达到这一目的。首先,我们需要理解CStatic控件的基本概念。 CStatic是MFC(Microsoft ...

    static用法小结.doc

    《static用法小结》 在C和C++编程中,`static`关键字是一个非常重要的概念,它在不同上下文中有着不同的用途。本篇将详细阐述`static`的三种主要用法及其特性。 1. 局部静态变量 在函数内部,`static`关键字用于...

    浅谈C/C++中的static与extern关键字的使用详解

    在C/C++编程语言中,`static`和`extern`关键字扮演着至关重要的角色,它们影响着变量和函数的存储、生命周期以及作用域。下面将详细阐述这两个关键字的使用和意义。 首先,我们来看`static`关键字。在C语言中,`...

    C语言static的用法

    ### C语言中的`static`关键字用法详解 在C语言编程中,`static`关键字具有非常重要的作用。本文将从不同角度对`static`在C语言中的应用进行深入...掌握好`static`的使用方法对于编写高质量的C语言程序来说至关重要。

    C++ static关键字详细应用指南

    综上所述,static关键字在C++中有三种主要的使用场景:静态全局变量、静态局部变量和静态函数。静态全局变量和静态局部变量提供了存储区域的持久性,并且可以控制变量的可见性。静态函数则为函数提供了一种在单个...

    const与static用法完整总结

    ### const与static用法完整总结 #### 一、const关键字详解 **1.... 在C++中,`const`关键字用于声明一个常量或对象的一部分为不可变。...正确理解并掌握它们的使用方法对于编写高质量的C++代码至关重要。

    static用法大全

    《static用法大全》 static关键字在C和C++中都是关键的角色,它有三种主要的使用方式,分别对应局部静态变量、外部静态变量/函数以及静态数据成员/成员函数。尽管C和C++中的一些具体操作细节有所不同,但本文将主要...

    const,extern,static,volatile的使用

    ### const、extern、static、volatile 的使用详解 #### 一、const 的使用 **1. 为什么使用 const** `const` 关键字在 C 和 C++ 编程语言中非常常见,它用来声明一个常量或者指定某个变量的某个方面为不可变。使用...

    curl c++使用

    【标题】:“curl c++使用” 在C++编程中,`curl`库是一个非常重要的工具,它允许开发者通过命令行接口或API实现HTTP、HTTPS和其他网络协议的客户端功能。本篇将详细介绍如何在C++项目中集成和使用`curl`库进行网络...

Global site tag (gtag.js) - Google Analytics