Visual C++程序设计外文翻译
c程序设计 英语

c程序设计英语"C程序设计"(C Programming)是一种计算机编程语言的学科,它是一门通用的、底层的编程语言,广泛应用于系统软件、嵌入式系统和应用程序的开发。
以下是一些与C程序设计相关的基本术语和概念的英语表达:1.Variable(变量):A named storage location that holds a value, which can be changed duringthe program execution. 一个命名的存储位置,保存一个值,在程序执行过程中可以更改。
2.Data Type(数据类型):A classification that specifies which type of value a variable canhold, such as int, float, char, etc. 一种分类,指定一个变量可以保存哪种类型的值,如int、float、char等。
3.Function(函数):A group of statements that together perform a specific task. Functionsprovide modularity in a program. 一组语句,共同执行特定任务。
函数在程序中提供了模块化的设计。
4.Array(数组):A collection of variables of the same type that are stored in contiguousmemory locations. 一组相同类型的变量,存储在连续的内存位置中。
5.Pointer(指针):A variable that stores the memory address of another variable. Pointers arewidely used for dynamic memory allocation. 一个变量,存储另一个变量的内存地址。
C#程序设计简介 英文技术资料翻译中文

英文原文:C# Program DesignC# introductionC# (pronounced “See Sharp”) is a simple, modern, object-oriented, and type-safe programming language. C# has its roots in the C family of languages and will be immediately familiar to C, C++, and Java programmers. C# is standardized by ECMA International as the ECMA-334 standard and by ISO/IEC as the ISO/IEC 23270 standard. Microsoft’s C# compiler for the .NET Framework is a conforming implementation of both of these standards.C# is an object-oriented language, but C# further includes support for component-oriented programming. Contemporary software design increasingly relies on software components in the form of self-contained and self-describing packages of functionality. Key to such components is that they present a programming model with properties, methods, and events; they have attributes that provide declarative information about the component; and they incorporate their own documentation. C# provides language constructs to directly support these concepts, making C# a very natural language in which to create and use software components.Several C# features aid in the construction of robust and durable applications: Garbage collection automatically reclaims memory occupied by unused objects; exception handling provides a structured and extensible approach to error detection and recovery; and the type-safe design of the language makes it impossible to read from uninitialized variables, to index arrays beyond their bounds, or to perform unchecked type casts.C# has a unified type system. All C# types, including primitive types such as int and double, inherit from a single root object type. Thus, all types share a set of common operations, and values of any type can be stored, transported, and operated upon in a consistent manner. Furthermore, C# supports both user-defined reference types and value types, allowing dynamic allocation of objects as well as in-line storage of lightweight structures.To ensure that C# programs and libraries can evolve over time in a compatible manner, much emphasis has been placed on versioning in C#’s design. Many programming languages pay little attention to this issue, and, as a result, programs written in those languages break more often than necessary when newer versions of dependent libraries are introduced. Aspects of C#’s design that were directly influenced by versioning considerations include the separate virtual and override modifiers, the rules for method overload resolution, and support for explicit interface member declarations.Program structureThe key organizational concepts in C# are programs, namespaces, types, members, and assemblies. C# programs consist of one or more source files. Programs declare types, which contain members and can be organized into namespaces. Classes and interfaces are examples of types. Fields, methods, properties, and events are examples of members. When C# programs are compiled, they are physically packaged into assemblies. Assemblies typically have the file extension .exe or .dll, depending on whether they implement applications or libraries.Types and variablesThere are two kinds of types in C#: value types and reference types. Variables of value types directly contain their data whereas variables of reference types store references to their data, the latter being known as objects. With reference types, it is possible for two variables to reference the same object and thus possible for operations on one variable to affect the object referenced by the other variable. With value types, the variables each have their own copy of the data, and it is not possible for operations on one to affect the other (except in the case of ref and out parameter variables).C#’s value types are further divided into simple types, enum types, struct types, and nullabl e types, and C#’s reference types are further divided into class types, interface types, array types, and delegate types.Classes and objectsClasses are the most fundamental of C#’s types. A class is a data structure that combines state (fields) and actions (methods and other function members) in a single unit.A class provides a definition for dynamically created instances of the class, also known as objects. Classes support inheritance and polymorphism, mechanisms whereby derived classes can extend and specialize base classes.New classes are created using class declarations. A class declaration starts with a header that specifies the attributes and modifiers of the class, the name of the class, the base class (if given), and the interfaces implemented by the class. The header is followed by the class body, which consists of a list of member declarations written between the delimiters { and }.StructsLike classes, structs are data structures that can contain data members and function members, but unlike classes, structs are value types and do not require heap allocation. A variable of a struct type directly stores the data of the struct, whereas a variable of a class type stores a reference to a dynamically allocated object. Struct types do not support user-specified inheritance, and all struct types implicitly inherit from type object.Structs are particularly useful for small data structures that have value semantics. Complex numbers, points in a coordinate system, or key-value pairs in a dictionary are all good examples of structs. The use of structs rather than classes for small data structures can make a large difference in the number of memory allocations an application performs.ArraysAn array is a data structure that contains a number of variables that are accessed through computed indices. The variables contained in an array, also called the elements of the array, are all of the same type, and this type is called the element type of the array.Array types are reference types, and the declaration of an array variable simply sets aside space for a reference to an array instance. Actual array instances are created dynamically at run-time using the new operator. The new operation specifies the length of the new array instance, which is then fixed for the lifetime of the instance. The indices of the elements of an array range from 0 to Length - 1. The new operator automatically initializes the elements of an array to their default value, which, for example, is zero for all numeric types and null for all reference types.InterfacesAn interface defines a contract that can be implemented by classes and structs. An interface can contain methods, properties, events, and indexers. An interface does not provide implementations of the members it defines—it merely specifies the members that must be supplied by classes or structs that implement the interface.Interfaces may employ multiple inheritance.Lexical structureProgramsA C# program consists of one or more source files, known formally as compilation units (§9.1). A source file is an ordered sequence of Unicode characters. Source files typically have a one-to-one correspondence with files in a file system, but this correspondence is not required. For maximal portability, it is recommended that files in a file system be encoded with the UTF-8 encoding.Conceptually speaking, a program is compiled using three steps:1. Transformation, which converts a file from a particular character repertoire and encoding scheme into a sequence of Unicode characters.2. Lexical analysis, which translates a stream of Unicode input characters into a stream of tokens.3. Syntactic analysis, which translates the stream of tokens into executable code.GrammarsThis specification presents the syntax of the C# programming language using two grammars. The lexical grammar (§2.2.2) defines how Unicode characters are combined to form line terminators, white space, comments, tokens, and pre-processing directives. The syntactic grammar (§2.2.3) defines how the tokens resulting from the lexical grammar are combined to form C# programs.Grammar notationThe lexical and syntactic grammars are presented using grammar productions. Each grammar production defines a non-terminal symbol and the possible expansions of thatnon-terminal symbol into sequences of non-terminal or terminal symbols. In grammar productions, non-terminal symbols are shown in italic type, and terminal symbols are shown in a fixed-width font.The first line of a grammar production is the name of the non-terminal symbol being defined, followed by a colon. Each successive indented line contains a possible expansion of the non-terminal given as a sequence of non-terminal or terminal symbols.conclusionTherefore, c # is a kind of modern, type safety, object-oriented programming language, it enables programmers to quickly and easily for Microsoft. NET platform to develop solutions.中文译文:C#程序设计简介C#介绍C#(发音为“See Sharp”)是一个简单的、现代的、面向对象的编程语言类型。
C++术语中英对照

一、C++英语词汇abstract [class] 抽象[类]access 访问,存取ambiguous 二义性,两义性argument 参数base [class] 基[类]binding 联编,绑定late binding 迟联编,迟绑定dynamic binding 动态联编,动态绑定class 类constant [function, object] 常量[函数,对象] construct function 构造函数constructor 构造函数declare 声明default [parameter, construction function] 缺省[参数,构造函数]derive 派生(类),导出(类)destruct function 析构函数destructor 析构函数duplicate 复制encapsulation 封装formal parameter 形式参数friend 友元identifier 标识符implementation 实现inaccessible 不可访问的inherit 继承initializer 初始化参数inline [function] 内联[函数]instance 实例instantiate 实例化l-value 左值member [variable, function] 成员[变量,函数] namespace 名空间object 对象operator 运算符overload 重载override 同名覆盖parameter 参数polymorphism 多态性private 私有的protected 保护的public 公有的reference 引用static 静态的stream 流template 模板virtual [base class, function] 虚[基类,函数] volatile 易变的二、Visual C++ 6.0英语词汇application program interface 应用程序接口(API) class wizard 类向导client area 客户区component object modal 组件对象模型(COM) console 控制台control 控件debug 调试(版)device connection 设备连接,设备描述表(DC) dialog based 基于对话框的dialog box 对话框directive 命令document 文档single document 单文档multiple documents 多文档dynamic-link library 动态链接库(DLL)message 消息message map 消息映像multi-thread 多线程nonclient area 非客户区Microsoft Developer's Netwok 微软开发者之网(MSDN)Microsoft foundation class 微软基础类(库)(MFC) precompile 预编译project 工程,项目release 发行(版)resource 资源serialize 序列化thread 线程view 视图visual 可视的workspace 工程工作区,工程组三、常见编译连接错误信息(按错误编号排序)1、fatal error C1010: unexpected end of file while looking for precompiled header directive寻找预编译头文件路径时遇到了不该遇到的文件尾。
VisualCMFC简要介绍(外文翻译

Introduction to MFC Programming with Visual C++ Version 6.xby Marshall BrainVisual C++ is much more than a compiler. It is a complete application development environment that, when used as intended, lets you fully exploit the object oriented nature of C++ to create professional Windows applications. In order to take advantage of these features, you need to understand the C++ programming language. If you have never used C++, please turn to the C++ tutorials in the C/C++ Tutorials page for an introduction. You must then understand the Microsoft Foundation Class (MFC) hierarchy. This class hierarchy encapsulates the user interface portion of the Windows API, and makes it significantly easier to create Windows applications in an object oriented way. This hierarchy is available for and compatible with all versions of Windows. The code you create in MFC is extremely portable.These tutorials introduce the fundamental concepts and vocabulary behind MFC and event driven programming. In this tutorial you will enter, compile, and run a simple MFC program using Visual C++. Tutotial 2 provides a detailed explanation of the code used in Tutorial 1. Tutorial 3 discusses MFC controls and their customization. Tutorial 4 covers message maps, which let you handle events in MFC.What is the Microsoft Foundations Class LibraryLet's say you want to create a Windows application. You might, for example, need to create a specialized text or drawing editor, or a program that finds files on a large hard disk, or an application that lets a user visualize the interrelationships in a big data set. Where do you beginA good starting place is the design of the user interface. First, decide what the user should be able to do with the program and then pick a set of user interface objects accordingly. The Windows user interface has a number of standard controls, such as buttons, menus, scroll bars, and lists, that are already familiar to Windows users. With this in mind, the programmer must choose a set of controls and decide how they should be arranged on screen. A time-honored procedure is to make a rough sketch of the proposed user interface (by tradition on a napkin or the back of an envelope) and play with the elements until they feel right. For small projects, or for the early prototyping phase of a larger project, this is sufficient.The next step is to implement the code. When creating a program for any Windowsplatform, the programmer has two choices: C or C++. With C, the programmer codes at the level of the Windows Application Program Interface (API). This interface consists of a collection of hundreds of C functions described in the Window's API Reference books. For Window's NT, the API is typically referred to as the "Win32 API," to distinguish it from the original 16-bit API of lower-level Windows products like Windows 3.1.Microsoft also provides a C++ library that sits on top of any of the Windows APIs and makes the programmer's job easier. Called the Microsoft Foundation Class library (MFC), this library's primary advantage is efficiency. It greatly reduces the amount of code that must be written to create a Windows program. It also provides all the advantages normally found in C++ programming, such as inheritance and encapsulation. MFC is portable, so that, for example, code created under Windows 3.1 can move to Windows NT or Windows 95 very easily. MFC is therefore the preferred method for developing Windows applications and will be used throughout these tutorials.When you use MFC, you write code that creates the necessary user interface controls and customizes their appearance. You also write code that responds when the user manipulates these controls. For example, if the user clicks a button, you want to have code in place that responds appropriately. It is this sort of event-handling code that will form the bulk of any application. Once the application responds correctly to all of the available controls, it is finished.You can see from this discussion that the creation of a Windows program is a straightforward process when using MFC. The goal of these tutorials is to fill in the details and to show the techniques you can use to create professional applications as quickly as possible. The Visual C++ application development environment is specifically tuned to MFC, so by learning MFC and Visual C++ together you can significantly increase your power as an application developer.Windows V ocabularyThe vocabulary used to talk about user interface features and software development in Windows is basic but unique. Here we review a few definitions to make discussion easier for those who are new to the environment.Windows applications use several standard user controls:Static text labelsPush buttonsList boxesCombo boxes (a more advanced form of list)Radio boxesCheck boxesEditable text areas (single and multi-line)Scroll barsYou can create these controls either in code or through a "resource editor" that can create dialogs and the controls inside of them. In this set of tutorials we will examine how to create them in code. See the tutorials on the AppWizard and ClassWizard for an introduction to the resource editor for dialogs.Windows supports several types of application windows. A typical application will live inside a "frame window". A frame window is a fully featured main window that the user can re-size, minimize, maximize to fill the screen, and so on. Windows also supports two types of dialog boxes: modal and modeless. A modal dialog box, once on the screen, blocks input to the rest of the application until it is answered. A modeless dialog box can appear at the same time as the application and seems to "float above" it to keep from being overlaid.Most simple Windows applications use a Single Document Interface, or SDI, frame. The Clock, PIF editor, and Notepad are examples of SDI applications. Windows also provides an organizing scheme called the Multiple Document Interface, or MDI for more complicated applications. The MDI system allows the user to view multiple documents at the same time within a single instance of an application. For example, a text editor might allow the user to open multiple files simultaneously. When implemented with MDI, the application presents a large application window that can hold multiple sub-windows, each containing a document. The single main menu is held by the main application window and it applies to the top-most window held within the MDI frame. Individual windows can be iconified or expanded as desired within the MDI frame, or the entire MDI frame can be minimized into a single icon on the desktop. The MDI interface gives the impression of a second desktop out on the desktop, and it goes a long way towards organizing and removing window clutter. Each application that you create will use its own unique set of controls, its own menu structure, and its own dialog boxes. A great deal of the effort that goes into creating any good application interface lies in the choice and organization of these interface objects. Visual C++, along with its resource editors, makes the creation and。
计算机专业外文文献及翻译微软Visual Studio

计算机专业外文文献及翻译微软Visual Studio 微软 Visual Studio1 微软 Visual Studio Visual Studio 是微软公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。
Visual Studio 是一个来自微软的集成开发环境 IDE(inteqrated development environment),它可以用来开发由微软视窗,视窗手机,Windows CE、.NET 框架、.NET 精简框架和微软的 Silverlight 支持的控制台和图形用户界面的应用程序以及 Windows 窗体应用程序,网站,Web 应用程序和网络服务中的本地代码连同托管代码。
Visual Studio 包含一个由智能感知和代码重构支持的代码编辑器。
集成的调试工作既作为一个源代码级调试器又可以作为一台机器级调试器。
其他内置工具包括一个窗体设计的 GUI 应用程序,网页设计师,类设计师,数据库架构设计师。
它有几乎各个层面的插件增强功能,包括增加对支持源代码控制系统(如 Subversion 和 Visual SourceSafe)并添加新的工具集设计和可视化编辑器,如特定于域的语言或用于其他方面的软件开发生命周期的工具(例如 Team Foundation Server 的客户端:团队资源管理器)。
Visual Studio 支持不同的编程语言的服务方式的语言,它允许代码编辑器和调试器(在不同程度上)支持几乎所有的编程语言,提供了一个语言特定服务的存在。
内置的语言中包括 C/C 中(通过Visual C)(通过 Visual ),C,中(通过 Visual C,)和 F,(作为Visual Studio2010),为支持其他语言,如 MPython和 Ruby 等,可通过安装单独的语言服务。
mfc windows程序设计英文版

mfc windows程序设计英文版English:MFC (Microsoft Foundation Classes) is a C++ library provided by Microsoft for developing Windows-based applications. It simplifies the process of creating interactive user interfaces, handling events, and working with various Windows components. MFC provides a set of classes that encapsulate common Windows functionality, making it easier for developers to write code for tasks such as creating windows, handling messages, and implementing graphical elements. With MFC, developers can take advantage of pre-built classes and functions for tasks like file I/O, network communication, and accessing different resources on the system. MFC also integrates with the Visual Studio IDE (Integrated Development Environment), providing a seamless development experience for building desktop applications on Windows. By utilizing MFC, developers can focus on the application logic and user experience without having to deal with the intricacies of Windows programming at a lower level.中文翻译:MFC(Microsoft Foundation Classes)是微软提供的一个用于开发基于Windows的应用程序的C++库。
c编程-外文文献

附件一外文原文Object-Orientation and C++C++ is just one of many programming languages in use today. Why are there so many languages? Why do new ones appear every few years? Programming languages have evolved to help programmers ease the transition from design to implementation. The first programming languages were very dependent on the underlying machine architecture. Writing programs at this level of detail is very cumbersome. Just as hardware engineers learned how to build computer systems out of other components, language designers also realized that programs could be written at a much higher level, thereby shielding the programmer from the details of the underlying machine.Why are there such a large number of high-level programming languages? There are languages for accessing large inventory databases, formatting financial reports, controlling robots on the factory floor, processing lists, controlling satellites in real time, simulating a nuclear reactor, predicting changing atmospheric conditions, playing chess, and drawing circuit boards. Each of these problems requires different sets of data structures and algorithms. Programming languages are tools to help us solve problems. However, there is not one programming language that is best for every type of problem. New programming languages are often developed to provide better tools for solving a particular class of problems. Other languages are intended to be useful for a variety of problem domains and are more general purpose.Each programming language imparts a particular programming style or design philosophy on its programmers. With the multitude of programming languages available today, a number of such design philosophies have emerged. These design philosophies, called programming paradigms, help us to think about problems andformulate solutions.1.Software Design through ParadigmsWhen designing small computer programs or large software systems, we often have a mental model of the problem we are trying to solve. How do we devise a mental model of a software system? Programming paradigms offer many different ways of designing and thinking about software systems. A paradigm can be thought of as a mental model or as a framework for designing and describing a software system's structure. The model helps us think about and formulate solutions.We can use the mental model of a paradigm independently from the programming language chosen for implementation. However, when the chosen language provides constructs and mechanisms that are similar to those that are found in the paradigm, the implementation will be more straightforward. Usually, there are several languages that belong to a paradigm. For this reason, a programming paradigm is also considered a class of languages.A language does not have to fit into just one paradigm. More often, languages provide features or characteristics from several paradigms. Hybrid languages, such as C++, combine characteristics from two or more paradigms. C++ includes characteristics from the imperative and procedural paradigms -- just like its predecessor language, C -- and the object-oriented paradigm.THE IMPERATIVE PARADIGM. The imperative paradigm is characterized by an abstract model of a computer with a large memory store. This is the classic von Neumann model of computer architecture. Computations, which consist of a sequence of commands, are stored as encoding within the store. Commands enable the machineto find solutions using assignment to modify the store, variables to read the store, arithmetic and logic to evaluate expressions, and conditional branching to control the flow of execution.THE PROCEDURAL PARADIGM. The procedural paradigm includes the imperative paradigm, but extends it with an abstraction mechanism for generalizing commands and expressions into procedures. Parameters, which are essentially aliases for a portion of the store, were also introduced by this paradigm. Other features include iteration, recursion, and selection. Most mainstreams programming today is done in a procedural language.The procedural paradigm was the first paradigm to introduce the notion of abstraction into program design. The purpose of abstraction in programming is to separate behavior from implementation. Procedures are a form of abstraction. The procedure performs some task or function. Other parts of the program call the procedure, knowing that it will perform the task correctly and efficiently, but without knowing exactly how the procedure is implemented.THE PROCEDURAL PARADIGM WITH ADTs.DATA ABSTRACTION is concerned with separating the behavior of a data object from its representation or implementation. For example, a stack contains the operations Push, Pop, and IsEmpty. A stack object provides users with these operations, but does not reveal how the stack is actually implemented. The stack could be implemented using an array or a list. Users of the stack object do not care how the stack is implemented, only that it performs the above operations correctly and efficiently. Because the underlying implementation of the data object is hidden from its users, the implementation can easily be changed without affecting the programs that use it.When we design algorithms, we often need a particular data type to use in order to carry out the algorithm's operations. The design of an algorithm is easier if we simply specify the data types of the variables, without worrying about how the actual data type is implemented. We describe the data type by its properties and operations and assume that whatever implementation is chosen, the operations will work correctly and efficiently. Types defined in this way are called ABSTRACT DATA TYPES (ADTs).The use of abstract data types makes the design of the algorithm more general, and allows us to concentrate on the algorithm at hand without getting bogged down in implementation details. After the algorithms have been designed, the actual data types will need to be implemented, along with the algorithms. Recently, procedural languages have been extended to support the definition of new data types and provide facilities for data abstraction.THE OBJECT-ORIENTED PARADIGM. The object- oriented paradigm retains much of the characteristics of the procedural paradigm, since procedures are still the primary form for composing computations. However, rather than operate on abstract values, programs in the object-oriented paradigm operate on objects. An object is very similar to an abstract data type and contains data as well as procedures.There are three primary characteristics of the object-oriented paradigm. We have already described the first, ENCAPSULATION, the mechanism for enforcing data abstraction. The second characteristic is INHERITANCE. Inheritance allows new objects to be created from existing, more general ones. The new object becomes a specialized version of the general object. New objects need only provide the methods or data that differ because of the specialization. When an object is created (or derived) from another object, it is said to inherit the methods and data of the parent object, and includes anynew representations and new or revised methods added to it.The third and final characteristic of object-oriented programming is POLYMORPHISM. Polymorphism allows many different types of objects to perform the same operation by responding to the same message. For example, we may have a collection of objects which can all perform a sort operation. However, we do not know what types of objects will be created until run-time. Object-oriented languages contain mechanisms for ensuring that each sort message is sent to the right object.Encapsulation, inheritance, and polymorphism are considered the fundamental characteristics of object-oriented programming and all object-oriented languages must provide these characteristics in some way. Not surprisingly, languages support these characteristics in very different ways. Smalltalk, C++, Objective-C, and Lisp with CLOS (the Common Lisp Object System) are all examples of object-oriented languages, and each provides support for encapsulation, inheritance, and polymorphism.Constructing an object-oriented program involves determining the objects that are needed to solve the problem. The objects are then used to construct computations that define the behavior of the software system. Message passing is the fundamental interaction mechanism among objects. Messages (from other objects or programs) are sent to objects to inform them to perform one of their operations.Objects are responsible for maintaining the state of their data. Only the object may modify its internal data. Objects may themselves be implemented via other sub-objects. Implementing an object involves a recursive process of breaking it into sub-objects until at some level the objects and methods defined on them are primitives. At this point, the methods and data consist of elements that can be implemented using the basic constructs provided by the programming language.One of the most important aspects of the object-oriented paradigm is how it changes our way of thinking about software systems. Systems are thought of as consisting of individual entities that are responsible for carrying out their own operations. Each object is conceived and implemented as self-contained. Such a model facilitates software design (and later implementation) because objects often model conceptual real-world entities. Designing systems using the object-oriented paradigm results in software systems that behave and appear more like their real-life counterparts.2. The Object-Oriented Characteristics of C++ENCAPSULATION in C++. C++ extends C with a facility for defining new data types.A class is like a C struct, but contains data as well as methods. In addition, C++ provides different levels of access to the members of a class in order to control how the members of a class can be manipulated from outside the class.Recall that the importance of data abstraction is to hide the implementation details of a data object from the user. The user only accesses the object through its PUBLIC INTERFACE. A C++ class consists of a public and private part. The public part provides the interface to the users of the class, while the private part can only be used by the functions that make up the class.C++ provides keywords to indicate which members of a class are hidden and which are part of its public interface. The members of the hidden implementation are marked in sections beginning with the keyword private. The public interface part of the class follows the keyword public. By default, the declarations within a class are private, meaning that only the member functions (and friends) of the class have access to them.A class definition does not allocate any memory. Memory is allocated when an arrayobject is created through a variable declaration. Constructors and destructors provide the initialization and clean up of an object. When an object is declared, the constructor is called to initialize the memory used by the object. The destructor performs any clean-up for the object when the object goes out of scope and is destroyed.Note that we didn't really hide the implementation details from the user. C++ does not provide a way to completely exclude all of the details of the underlying implementation, since the private part of the class must be included with the class definition it is useful to relax the access to variables within a class, particularly under inheritance. Often derived classes need easy access to the private members of their parent classes. C++ defines the keyword protected for this purpose. Protected members can be accessed by the member functions of a class as well as by member functions of derived classes. However, like private members, protected members cannot be accessed by user programs.One final note about objects. Recall that message passing is the fundamental means for communication among objects. When we write i < () we are effectively sending a message to the a2 array object to determine the size of the array and return it. In actuality, no message is really sent. C++ emulates message passing through the use of function calls. The compiler ensures us that the correct function will be called for the desired object. So, in C++ you can think of message passing as function calls.Object-orientation has become a buzzword with many meanings. It is a design methodology, a paradigm (a way of thinking about problems and finding solutions), and a form of programming. As a design methodology, we can use object-oriented techniques to design software systems. But it is more than a design methodology, it is a whole new way of thinking about problems. Object-oriented design allows us to thinkabout the actual real-world entities of the problem we are attempting to provide a solution for. Beginning the design with concepts from the real- world problem domain allows the same concepts to be carried over to implementation, making the design and implementation cycle more seamless.Once a design has been conceived, a programming language can be chosen for implementation. By factoring out the inheritance relationships from the object hierarchies discovered during design, one can even implement the system in a traditional, non- object-oriented language. However, using an object-oriented language, such as C++, makes it easier to realize the design into an implementation because the inherent relationships among objects can be directly supported in the language.Languages such as C++ are considered hybrid languages because they are multi-paradigm languages. C++ is an object- oriented extension of C and can be used as a procedural language or as an object-oriented language. In this issue, we continue our tour of the object-oriented features of C++.3. The Object-Oriented Features of C++INHERITANCE in C++. One of the major strengths of any object-oriented programming language is the ability to build other classes from existing classes, thereby reusing code. Inheritance allows existing types to be extended to an associated collection of sub-types.Recall that one of the key actions of object-oriented design is to identify real-world entities and the relationships among them. When a software system is designed, a variety of objects arise, which may be related in one way or another. Some classes may not be related at all. Many times it makes sense to organize the object classes into aninheritance hierarchy. Organizing a set of classes into a class hierarchy requires that we understand the relationships among the classes in detail. Not all class relationships dictate that inheritance be used.C++ provides three forms of inheritance: public, private, and protected. These different forms are used for different relation- ships between objects. To illustrate these different types of inheritance, let's look at several different class relationships.The first relationship is the IS-A relationship. This type of relationship represents a specialization between types or classes. IS-A inheritance holds for two classes if the objects described by one class belongs to the set of objects described by the other more general class. The IS-A relationship is the traditional form of inheritance called subtyping. The subtype is a specialization of some more general type known as the supertype. In C++, the supertype is called the base class and the subtype the derived class.To implement the IS-A relationship in C++ we use public inheritance. When public inheritance is used the public parts of the base class become public in the derived class and the protected parts of the base class become protected in the derived class.To implement the HAS-A relationship in C++ we use either composition or private inheritance. For example, a stack can be implemented using an array. We can either use the stack as a data member (composition) or derive the stack class from the array class using private inheritance.It is also possible to use inheritance to achieve a containership relationship between two classes. Private inheritance is used when the inheritance is not part of the interface; the base class is an implementation detail. Under private inheritance, the public and protected parts of the base class become part of the private part of the derived class. Users of the derived class cannot access any of the base class interface. However,member functions of the derived class are free to use the public and private parts of the base class. When used this way, users cannot write code that depends on the inheritance. This is a powerful way of preserving your ability to change the implementation to a different base class.One other form of inheritance, which is very rarely used is protected inheritance. Protected inheritance is also used to implement HAS-A relationships. When protected inheritance is used, the public and protected parts of the base class become protected in the derived class. So, you may wish to use protected inheritance when the inheritance is part of the interface to derived classes, but not part of the interface to the users. A protected base class is almost like a private base class, except the interface is known to derived classes.It is best to use composition where possible. In cases where you must override functions in a base class then by all means use inheritance. Only use public inheritance if your derived class is indeed a specialization of the base class, otherwise, private inheritance should be used. Needlessly using inheritance makes your system harder to understand.In summary, a class specifies two interfaces: one to the users of the class (the public interface) and another to implementers of derived classes (the union of public and protected parts). Inheritance works almost identically. When the inheritance is public, the public interface of the base class becomes part of the public interface to users of the derived class. When the inheritance is protected, the public and protected parts of the base class are accessible to the member functions (the implementation) of the derived classes, but not to general users of the derived classes. Finally, when inheritance is private, the public and protected parts of the base class are only accessible to theimplementer of the class, but not to users or derived classes.POLYMORPHISM in C++. Polymorphism is the last of the three fundamental primitives of object-oriented programming and the most important. Together with inheritance, polymorphism brings the most power, in terms of run-time flexibility, to object-oriented programming. Polymorphism, which means many forms, provides a generic software interface so that a collection of different types of objects may be manipulated uniformly. C++ provides three different types of polymorphism: virtual functions, function name overloading, and operator overloading.The virtual function mechanism can only be invoked through the use of a base class reference or pointer.Recall that a base class pointer can point to an object of the base type or an object of any type that is derived from the base class.Virtual functions are also used to implement the logic gate hierarchy .The class gate is an abstract base class at the root of the inheritance hierarchy. A class is considered abstract when some of its virtual member functions do not have an implementation. These functions are assigned to be zero in the class classes must provide implementations for them.Another form of polymorphism found in C++ is function overloading. A function is said to be overloaded when it is declared more than once in a program. Overloading allows a set of functions that perform a similar operation to be collected under the same name. When there are several declarations of the same function, the compiler determines which function should be called by examining the return type and argument signature of the function call.When we define new data types, it is often useful to define standard operations thatare found in similar types. For example, a complex type also has addition and subtraction defined for it. We can use operator overloading so that the addition (`+') and subtraction (`-') operators work for complex objects just as they do for ints and floats.Operators are defined in much the same was as normal C++ functions and can be members or non-members of a class. Operators take one or two arguments and are called unary and binary operators accordingly. In C++, a member operator function is defined like an ordinary member function, but the name is prefixed with the keyword operator.C++ places a number of restrictions on operator overloading. Only the pre-defined set of C++ operators may be overloaded. It is illegal to define a new operator and then overload it. You cannot turn a unary operator into a binary operator or vice versa. Also, the following operators cannot be overloaded: scope operator (`::'), member object selection operator (`.*'), class object selector operator (`.'), and the arithmetic if operator (`?:').In the last two issues of ObjectiveViewPoint we have looked at how C++ supports the object-oriented paradigm.附件二外文资料翻译译文面向对象和C++C++是目前所利用的众多编程语言中的一种。
C#程序设计简介 英文技术资料翻译中文

英文原文:C# Program DesignC# introductionC# (pronounced “See Sharp”) is a simple, modern, object-oriented, and type-safe programming language. C# has its roots in the C family of languages and will be immediately familiar to C, C++, and Java programmers. C# is standardized by ECMA International as the ECMA-334 standard and by ISO/IEC as the ISO/IEC 23270 standard. Microsoft’s C# compiler for the .NET Framework is a conforming implementation of both of these standards.C# is an object-oriented language, but C# further includes support for component-oriented programming. Contemporary software design increasingly relies on software components in the form of self-contained and self-describing packages of functionality. Key to such components is that they present a programming model with properties, methods, and events; they have attributes that provide declarative information about the component; and they incorporate their own documentation. C# provides language constructs to directly support these concepts, making C# a very natural language in which to create and use software components.Several C# features aid in the construction of robust and durable applications: Garbage collection automatically reclaims memory occupied by unused objects; exception handling provides a structured and extensible approach to error detection and recovery; and the type-safe design of the language makes it impossible to read from uninitialized variables, to index arrays beyond their bounds, or to perform unchecked type casts.C# has a unified type system. All C# types, including primitive types such as int and double, inherit from a single root object type. Thus, all types share a set of common operations, and values of any type can be stored, transported, and operated upon in a consistent manner. Furthermore, C# supports both user-defined reference types and value types, allowing dynamic allocation of objects as well as in-line storage of lightweight structures.To ensure that C# programs and libraries can evolve over time in a compatible manner, much emphasis has been placed on versioning in C#’s design. Many programming languages pay little attention to this issue, and, as a result, programs written in those languages break more often than necessary when newer versions of dependent libraries are introduced. Aspects of C#’s design that were directly influenced by versioning considerations include the separate virtual and override modifiers, the rules for method overload resolution, and support for explicit interface member declarations.Program structureThe key organizational concepts in C# are programs, namespaces, types, members, and assemblies. C# programs consist of one or more source files. Programs declare types, which contain members and can be organized into namespaces. Classes and interfaces are examples of types. Fields, methods, properties, and events are examples of members. When C# programs are compiled, they are physically packaged into assemblies. Assemblies typically have the file extension .exe or .dll, depending on whether they implement applications or libraries.Types and variablesThere are two kinds of types in C#: value types and reference types. Variables of value types directly contain their data whereas variables of reference types store references to their data, the latter being known as objects. With reference types, it is possible for two variables to reference the same object and thus possible for operations on one variable to affect the object referenced by the other variable. With value types, the variables each have their own copy of the data, and it is not possible for operations on one to affect the other (except in the case of ref and out parameter variables).C#’s value types are further divided into simple types, enum types, struct types, and nullabl e types, and C#’s reference types are further divided into class types, interface types, array types, and delegate types.Classes and objectsClasses are the most fundamental of C#’s types. A class is a data structure that combines state (fields) and actions (methods and other function members) in a single unit.A class provides a definition for dynamically created instances of the class, also known as objects. Classes support inheritance and polymorphism, mechanisms whereby derived classes can extend and specialize base classes.New classes are created using class declarations. A class declaration starts with a header that specifies the attributes and modifiers of the class, the name of the class, the base class (if given), and the interfaces implemented by the class. The header is followed by the class body, which consists of a list of member declarations written between the delimiters { and }.StructsLike classes, structs are data structures that can contain data members and function members, but unlike classes, structs are value types and do not require heap allocation. A variable of a struct type directly stores the data of the struct, whereas a variable of a class type stores a reference to a dynamically allocated object. Struct types do not support user-specified inheritance, and all struct types implicitly inherit from type object.Structs are particularly useful for small data structures that have value semantics. Complex numbers, points in a coordinate system, or key-value pairs in a dictionary are all good examples of structs. The use of structs rather than classes for small data structures can make a large difference in the number of memory allocations an application performs.ArraysAn array is a data structure that contains a number of variables that are accessed through computed indices. The variables contained in an array, also called the elements of the array, are all of the same type, and this type is called the element type of the array.Array types are reference types, and the declaration of an array variable simply sets aside space for a reference to an array instance. Actual array instances are created dynamically at run-time using the new operator. The new operation specifies the length of the new array instance, which is then fixed for the lifetime of the instance. The indices of the elements of an array range from 0 to Length - 1. The new operator automatically initializes the elements of an array to their default value, which, for example, is zero for all numeric types and null for all reference types.InterfacesAn interface defines a contract that can be implemented by classes and structs. An interface can contain methods, properties, events, and indexers. An interface does not provide implementations of the members it defines—it merely specifies the members that must be supplied by classes or structs that implement the interface.Interfaces may employ multiple inheritance.Lexical structureProgramsA C# program consists of one or more source files, known formally as compilation units (§9.1). A source file is an ordered sequence of Unicode characters. Source files typically have a one-to-one correspondence with files in a file system, but this correspondence is not required. For maximal portability, it is recommended that files in a file system be encoded with the UTF-8 encoding.Conceptually speaking, a program is compiled using three steps:1. Transformation, which converts a file from a particular character repertoire and encoding scheme into a sequence of Unicode characters.2. Lexical analysis, which translates a stream of Unicode input characters into a stream of tokens.3. Syntactic analysis, which translates the stream of tokens into executable code.GrammarsThis specification presents the syntax of the C# programming language using two grammars. The lexical grammar (§2.2.2) defines how Unicode characters are combined to form line terminators, white space, comments, tokens, and pre-processing directives. The syntactic grammar (§2.2.3) defines how the tokens resulting from the lexical grammar are combined to form C# programs.Grammar notationThe lexical and syntactic grammars are presented using grammar productions. Each grammar production defines a non-terminal symbol and the possible expansions of thatnon-terminal symbol into sequences of non-terminal or terminal symbols. In grammar productions, non-terminal symbols are shown in italic type, and terminal symbols are shown in a fixed-width font.The first line of a grammar production is the name of the non-terminal symbol being defined, followed by a colon. Each successive indented line contains a possible expansion of the non-terminal given as a sequence of non-terminal or terminal symbols.conclusionTherefore, c # is a kind of modern, type safety, object-oriented programming language, it enables programmers to quickly and easily for Microsoft. NET platform to develop solutions.中文译文:C#程序设计简介C#介绍C#(发音为“See Sharp”)是一个简单的、现代的、面向对象的编程语言类型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Visual C++程序设计21世纪将是信息化社会,以信息技术为主要标志的高新技术产业在整个经济中的比重不断增长,随着计算机技术的飞速发展,社会对人才的计算机应用与开发水平的要求也日益增高,为适应形式,其中VC++技术及其产品是当今世界计算机发展的一块巨大领域。
Windows xp/vista 是目前主流图形化操作系统,运行各种各样的window操作系统的个人计算机已在全球的家庭和办公坏境中广泛使用,而越来越多的个人计算机具有internet功能和多媒体功能又推动了对各种各样功能强,速度快的应用软件的进一步需求。
目前有一种对microsoft所取得的成功进行诽谤的气氛,然而,microsoft的成功加上它对标准化的承诺,使得有承诺的windows编程人员利用他们掌握的技术在全球范围内得到越来越大的回报,由于西方社会的承认和计算机已越来越深入到每个人的生活中,因而对他们的技术需求与日俱增,从而使得他们的回报、经济收入和其他各方面相应地取得了满意的结果。
Visual C++编程语言是由Microsoft公司推出的目前极为广泛的可视化开发工具,利用Visual C++可以开发基于Widnows平台的32位应用程序,依靠强大的编译器以及网络与数据库的开发能力,用Visual C++可以开发出功能强大的应用程序。
VC++6.0是操作系统中快速应用开发环境的最新版本。
它也是当前Windows平台上第一个全面支持最新WEB服务的快速开发工具。
无论是企业级用户,还是个人开发者,都能够利用VC++6.0轻松、快捷地开发优秀的基于通信的程序,开发高效灵活的文件操作程序,开发灵活高效的数据库操作程序,等等。
VC++6.0是惟一支持所有新出现的工业标准的RAD坏境,包括XML(扩展标记语言)/XSL(可扩展样式语言),SOAP(简单对象存取协议)和WSDL(Web 服务器描述语言)等。
VC++6.0是可视化的快速应用程序开发语言,它提供了可视化的集成开发坏境,这一坏境为应用程序设计人员提供了一系列灵活先进的工具,可以广泛地用于种类应用程序设计。
在VC++6.0的集成开发坏境中,用户可以设计程序代码、运行程序、进行程序错误的调试等,可视化的开发方法降低了应用程序开发的难度。
VC++6.0的基础编程语言是具有面向对象特性的C++语言。
C++具有代码稳定、可读性好、编译速度快、效率高等优点,并将面向对象的概念得到充分的发挥,使这种语言有了全新的发展空间。
使用VC++6.0,我们几乎可以做任何事情,还可以撰写各种类型的应用程序,动态链接库(DLL)、CON、或CORBA对象,CGI/ISAPI程序,Microsoft Back Office应用程序。
程序的规模小到简单的个人数据库应用,大到复杂的企业的多层次分布式系统,都可以使用VC++6.0进行开发,其友好的集成开发界面,可视化的双向开发模式,良好的数据库应用支持高校的程序开发和程序运行,备受广大程序开发人员的好评。
尤其是VC++6.0对数据库应用的强大支持,大大提高了数据库应用软件开发的效率,缩短了开发周期,深受广大数据库应用程序设计人员的喜爱。
VC++6.0为数据库应用开发人员提供了丰富的数据库开发组件,使数据库应用开发功能更强大,控制更灵活,编译后的程序运行速度更快。
在Visual C++中包含了大量新功能:一些新的控件(例如,你可能在Microsoft Outlook 电子邮件应用程序中日期选择器控件)目前已能应用到你自己的应用程序中。
各种图像现在已能与组合框中的项相关联,而且可以利用扩充的组合框控件将图像显示在组合选择框中和下列列表中。
在Office 97 和Internet Explorer 4 中已使用的一般的工具条和尺寸可调节的工具条都以集成在其类库中,以供你用于你自己的应用程序中。
你可以在你自己的应用程序中使用Internet Explorer,查看Web页和HTML的内容。
面向对象体系结构技术有助于创建行业性软件开发机构。
例如交通规划尽管具有差别,但各城市所需要的软件基本上是相同的,这就为软件开发机构提供了一种制作面向交通规划的软件框架(注意这里讲的是软件框架而不是通用性软件)的机会。
这种框架一旦开发成功,就可以多次反复利用。
思维方式决定解决问题的方式,传统软件开发采用自顶向下的思想知道程序设计,即将目标分为若干子目标,字母表再进一步划分下去,知道目标能被编程实现为止。
面向对象技术是包含数据和对数据操作的代码实体,或者说实在传统的数据结构中加入一些被称为成员函数的过程,因而赋予对象以动作。
而在程序设计中,对象具有与现实世界的某种对应关系,我们正式利用这种关系对问题进行分解。
BMP是bitmap的缩写,即为位图图片。
位图图片是一种称作“像素”的单位存储图像信息的。
这些“像素”其实就是一些整体排列的色彩(或黑白)点,如果这些点被慢慢放大,你就会看到一个个的“像素中填充着自己的颜色,这些“像素“整齐地排列起来,就成为了一副BMP图片,并以.bmp(.rle,.dib等)为扩展名。
BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在Windows坏境下运行的所有图像处理软件都支持BMP图像文件格式。
BMP:Windows位图可以用热河颜色深度(从黑白到24为颜色)存储单个光栅图像。
Windows位图文件格式与其他Microsoft Windows程序兼容。
它不支持文件压缩,也不适用于WEB页。
从总体上看,Windows位图文件格式的缺点超过了它的优点。
为了保证图片图像的质量,请使用PNG文件、JPEG文件或者TIFF文件。
BMP文件适用于Windows中的强纸。
优点:BMP支持1位到24位颜色色深度。
BMP格式与现有Windows程序(尤其是较旧的程序)广泛兼容。
缺点:BMP不支持压缩,这会造成文件非常大。
BMP文件不受WEB浏览器支持。
计算机技术迅速发展的时代,图像文件作为传递信息的重要方法之一有着重要作用。
每种图像格式都有自己的特点与应用领域,各种图像文件通过格式转换软件实现相互的转换,用户根据自身的需求选择合适的格式以达到最佳的使用效果随着计算机软件、硬件技术的如新月异的发展和普及,人类已经进入一个高速发展的信息化时代,人类大概有80%的信息来自图像,科学研究,技术应用中图像处理技术越来越成为不可缺少的手段。
图像处理所涉及的领域有军事应用、医学诊断、工业监控、物体的自动分检识别系统等等,这些系统无不需要计算机提供实时动态、效果逼真的图像。
前言会议,是人类社会经济生活中不可或缺的一部分,有关的研究表明,通信的有效性约55%依赖于面对面(face-to-face)的视觉效果,38%依赖于说话语音,视听是人们获取信息的最重要形式,而面对面的讨论(face-to-face)是人类表达思想最丰富的一种方式。
自工业革命后,科技的发达使得通信技术有了突破性的进展,电话和电报的发明,使远地的人们可以立即传送声音和文档。
然而,除了言语的沟通外,人类更注重的是表情和肢体的表达,仅仅是声音的传送已经无法满足现代人交流的需求,即时并且互动的影像更能真实自然的传送信息。
(1)视频会议系统正是在这种迫切需要的推动下产生的新一代通信产品。
视频会议(VideoConference)系统是一种能把声音、图像、文本等多种信息从一个地方传送到另一个地方的通信系统。
有效发送基于视频的信息,可以在远程部门和部门间开展合作,同时还可以实现诸如视频会议和视频点播等视频应用技术。
视频会议系统是计算机技术与通信技术相结合的产物,它作为多媒体通信技术的一个重要组成部分,正随着波及全球的信息高速公路的兴起而迅速发展起来。
视频会议从出现至今已有三十多年,从最开始的减少旅行费用,提高工作效率,到911时的加速国内外协作,保障人身安全等,再到SARS时保障社会的稳定和各项工作最低限度的运转,视频会议的优越性正在越来越被广泛的显示出来。
(2)鉴于视频会议系统在军事、经济、文化等领域给人类带来的巨大作用和经济效益,各国竞相研究和开发视频会议系统,特别是在超大规模集成电路、压缩算法及视觉生理研究方面取得了突破性进展和关于视频会议的一系列国际标准相继出台,以及各种图像实时处理芯片纷纷推出后,视频会议系统的实用化才得到长足的发展。
目前国内外的主要应用有:商务交流商业会议企业客户服务和产品开发远程教学和技术培训市场调查和情报收集远程医疗和会诊科研合作和工程设计跨国企业应用招募员工从目前的发展来看,有关视频会议技术的研究很多,有关的产品也非常丰富,尽管视频会议系统有十分诱人的广阔前景,但在这个领域中还有相当多的技术问题亟待解决,其中在现阶段影响视频会议系统实用性、通用性及友好性的相关技术和有关问题有:软件技术、数据库技术、网络技术、共享技术、资源控制技术、保密技术和会议模型技术。
(3)本项课题主要研究的是用软件的方式,配合一些必要的外设,实现一个小型视频会议系统。
视频会议系统主要有三个部分组成,即通信网络、会议终端和多点控制单元。
视频会议系统实质上是计算机技术和通信技术相结合的产物,所以通信网络是视频会议系统的基础组成部分之一,会议终端是将视频、音频、数据、信令等等各种数字信号分别进行处理后组合成的复合数字码流,再将码流转变为与用户-网络兼容的接口,符合传输网络所规定的信道帧结构的信号格式送上信道进行传输。
多点控制单元是视频会议系统用于多点视听信息的传输与切换部分,它是根据一定的准则处理视听信号,并根据要求分配各个要连接的信道,但它并不是视频会议所必须的。
(1)通信网络是一系列的设备、机构和进程,通过它们,附着在网络上的终端用户设备能够进行有意义的信息交换。
它涉及到网络传输协议、网络编程接口等内容。
(4)视频会议系统的终端设备承担了多种媒体信息的输入、输出和处理,以及用户和网络之间的连接、交互和控制等多项任务。
它属于用户数字通信设备,在系统中处在用户的视听、数据输入/输出设备和网络之间。
(1)视频会议中有时需要进行多点间的信息传输和交换,这时可以借助于多点控制单元(MCU)来实现。
多点控制单元实际上就是一台多媒体信息交换机,实现多点呼叫和连接,实现视频广播、视频选择、音频混合、数据广播等功能,完成各终端信号的汇接与切换。
MCU将各个终端送来的信号进行分离,抽取出音频、视频、数据和信令,分别送到相应的处理单元,进行音频混合或切换,视频切换、数据广播、路由选择、会议控制、定时和呼叫处理等,处理后的信号由复用器按照H.221格式组帧,然后经网络接口送到指定端口。
(5)Fundamentals of Programming Visual C++The 21st century are the information societies, unceasingly grow take the information technology as the main symbol high-tech industry in the entire economical proportion,along with the computer technology rapid development, the society also day by day enhance to talented person's computer application and the development level request, are the adaption situations, VC++ technology and its the product are a huge domain which now the world computer develops. Windows 2000/xp is the present mainstream graph operating system, moves the various Windows operating system personal computer already in the global family and the work environment the widespread use, but more and more many personal computer had the Internet function and the multimedia function impel to be strong to various function, speed quick application software further demand. At present has one kind the success which obtains to Microsoft to carry on the slander the atmosphere, however, the Microsoft success adds on it to the standardized pledge, the technology which enables to have the Windows programmers which pledge uses them to grasp in the global scope to obtain the more and more big repayment, because the western society's acknowledgement and the computer more and more penetrated into in each person's life, thus grows day by day to their technical demand, thus caused them the repayment, the income and other various aspects correspondingly has obtained the satisfactory result.Visual the C++ programming language is at present extremely widespread visible development kit which promotes by Microsoft Corporation, may develop using Visual C++ based on the Widnows platform 32 applications procedure, depends upon the formidable compiler as well as the network and the database development ability, may develop the function formidable application procedure with Visual C++.VC++6.0 is in the operating system the rapid application development environment newest edition. It also is in the current Windows platform the first comprehensive support newest Web service fast development kit. Regardless of is the enterprise level user, or individual development, all can be relaxed using VC++6.0, quickly develop outstandingly based on the correspondence procedure, the development highly effective nimble document operation sequence, the development nimble highly effective database operation sequence, and so on. VC++6.0 is the industry standard RAD environment which the only support all newly appears, (expansion mark language) /XSL (may expand style language) including XML, SOAP (simple objectdeposit and withdrawal agreement) and WSDL (Web server description language) and so on.VC++6.0 is the visible fast application procedure development language, it has provided the visible integrated development environment, this environment has provided a series of nimble and the advanced tool for the application programming personnel, may widely use in the type application programming. In the VC++6.0 integrated development environment, the user may design the procedure code, the operating procedure, carries on the program error the debugging and so on, the visible method of exploitation reduced the application procedure development difficulty. The VC++6.0 foundation programming language has the object-oriented characteristic C++ language. C++ has the code stably, the readability good, the translation speed is quick, the efficiency higher merit, and the object-oriented concept will obtain the full display, enable this language to have the brand-new development space Uses VC++6.0 , we nearly may handle any matter, but also may compose plants each kind of type the application procedure, dynamic link storehouse (DLL), CON, or CORBA object, CGI/ISAPI procedure, Microsoft Back Office application procedure. The procedure scale to the simple individual database application, is slightly big to the complex enterprise's multi-level distributional system, all may use VC++6.0 to carry on the development, its friendly integrated development contact surface, the visible bidirectional development pattern, the good database application support highly effective procedure development and the procedure movement, prepares the general procedures development personnel's high praise. VC++6.0 to the database application formidable support, greatly enhanced the efficiency in particular which the database application software develops, reduced the development cycle, deeply general databases application programming personnel's affection. VC++6.0 was the database has provided the rich database development module using the development personnel, caused the database application development function formidable, control more nimble, after the translation procedure running rate was quicker.In 6.0 has contained the massive new functions in Visual C++: Some new controls (for example, you possibly email application procedure date selector control inMicrosoft in Outlook) at present to be able to apply in you application procedure. Each kind of image could now be connected with the combination frame in item, moreover may use the combination frame which expands to control and following tabulates the pictorial display in the combination choice frame. The tool strip 97 and Internet Explorer in 4 which has used the common tool strip and the size may adjust which in Office all to integrate in its kind of storehouse, by uses in you application procedure for you. You may use Internet Explorer in you application procedure, examines the Web page and the HTML content .The object-oriented system structure technology is helpful to the foundation prefessional software development organization. For example ,transportation plan although has the difference, but various cities need software basically is same, this provided one kind of manufacture for the software development organization (to pay attention to here lecture face the transportation plan software frame is software frame but was not versatile software) an opportunity. This kind of frame once develops successfully, may repeatedly use many times.The thinking mode decided solves the question way, the traditional software development uses the from the top thought instruction programming, soon the goal divides into certain subtargets, the subtarget further divides again, can program until the goal the realization. The object-oriented technology brings the enormous change for the software design domain, it carries on the procedure development using the software object, the so-called object is contains the data and the logarithm according to the operation code entity, or said is joins some in the traditional construction of data to be called the member function the process, thus entrusts with the object by the movement. But in the programming, the object has with the real world some kind of corresponding relations, we are precisely use this kind of relations to carry on the decomposition to the question.BMP is the bitmap abbreviation, namely for position chart picture. The position chart picture is called as "the picture element" with one kind the unit storage picture information. These "the picture element" actually is some neat arrangements colored (or black and white) the spot, if these is slowly enlarged, you can see center adds toone each one "the picture element" is imitating own color, these "the picture element" neatly arranges, has become a BMP picture, and take bmp (rle, dib and so on) as the extension. BMP (Bitmap-File) the graphic file is the graphic file form which Windows uses, moves all imagery processing software under the Windows environment all to support the BMP image document format. BMP: The Windows position chart may (as black and white use any color depth from as 24 colors) to save the single diffraction grating picture. The Windows position chart document format and other Microsoft the Windows procedure is compatible. Its supporting documentation compression, also ill uses in the Web page.Looked from the overall that, the Windows position chart document format shortcoming has surpassed its merit. In order to guarantee the picture picture the quality, please use the PNG document, the JPEG document or the TIFF document. The BMP document is suitable in Windows the wallpaper. Merit: BMP supports 1 to 24 colors depths. The BMP form and the existing Windows procedure (an older procedure) widespread is in particular compatible. Shortcoming: BMP does not support the compression, this can create the document to be extremely big. BMP document not Web browser support.The computer technology rapid development time, the picture document has the vital role one of as transmission information important methods. Each kind of picture form all has own characteristic and the application domain, each kind of picture document through the format conversion software realization mutual transformation, the user acts according to own demand choice appropriate form to achieve the best use effect. The development and the popularization which along with computer software, the hardware technology changes with each new day, the humanity already entered a high speed development the information time, the humanity probably has 80% information to come from the picture, in the scientific research, the technical application the picture processing technology more and more to become the essential method. Picture processing involves the domain has the military application, medicine diagnosis, industry monitoring, the object automatic minute examines recognition system and so on, these systems need the computer to provide the real-time tendency all, the effectlifelike picture.1 IntroductionMeeting of human society an integral part of economic life, the study shows that approximately 55% of the effectiveness of communication depends on the face (face-to-face) of the visual effects, 38% rely on talking voice, audio-visual people The most important form of access to information, and face to face discussions (face-to-face) is the most abundant human expression of ideas way. Since the industrial revolution, the technological advancement made a breakthrough progress in communication technology, telephone and telegraph invention of the distant sound of people and documents can be sent immediately. However, in addition to verbal communication, the human beings pay more attention to facial expressions and body expression, only voice transmission has been unable to meet the needs of modern communication, real-time video and interactive delivery of information more real and natural. (1) video conferencing system is in this generation, driven by an urgent need for a new generation of communications products.Video Conferencing (VideoConference) system is a can sounds, images, text and other information sent from one place to another communication system. Effective transmission of video-based information on a remote sector and intersectoral cooperation, and also can be achieved, such as video conferencing and video applications such as video on demand technology. Video conference system is the computer technology and communication technology product of the combination, multimedia communication technology as an important part of being affected with the rise of the global information superhighway and has developed rapidly.Video conferencing has been thirty years from the emergence, from the beginning to reduce travel costs, improve efficiency, to 911 domestic and international collaboration to accelerate the time to protect the personal safety, to safeguard social stability during SARS and the minimum work operation, the advantages of video conferencing is increasingly widely displayed. (2) In view of the video conference system in the military, economic and cultural fields, the enormous role of the human and economic, national research and development of competing video conferencing systems, especially in very large scale integrated circuits, compression algorithms and visual physiology research breakthrough has been made and on a series of international standards for video conferencing were introduced, and a variety of image processing chips have the introduction of real-time video conferencing systems have come a long way before the practical development. The main application at home and abroad are:Business CommunicationBusiness ConferenceEnterprise customer service and product developmentDistance learning and technical trainingMarket research and intelligence gatheringTelemedicine and consultationCooperation in scientific research and engineering designMultinational applicationStaff recruitmentFrom the current perspective of the development, research on a lot of video conferencing technology, the products are very rich, although very attractive video conferencing system has broad prospects, but in this area there are considerable technical issues to be resolved, video conferencing systems at this stage of practicality, versatility and friendliness of the relevant technologies and related issues: software technology, database technology, network technology, sharing of technology, resource control, security technology and technology conference model. (3)The main research topics is the way of software, with the necessary peripherals to achieve a small video conferencing system.2, the basic principles of video conferencing systemsVideo Conferencing (VideoConference) system is the basic definition: two or more individuals or groups of different geographic location, through the transmission line and multimedia equipment, the sound, image, video, interactive video and file transfer data, to instant and interactive communication in order to complete the purpose of the conference system. Be read from above, video conferencing is a typical multimedia communications, the next diagram is a diagram of a typical video conferencing system:Figure 1.1 A typical schematic of a video conferencing systemFrom the above diagram we can basically tell, the video conferencing system has three main components, namely, communication networks, conferencing terminals and multipoint control unit. Video conferencing systems and computer technology is essentially the product of combining communication technology, so the communication network is based video conferencing system component of the terminal session is video, audio, data, signaling, and so a variety of digital signals, respectively after combined into the composite digital stream, and then transforms to a code with the user - Network compatible interface, in line with the provisions of the transmission network of the frame structure of the channel to send the channel signal format for transmission. Multipoint control unit is multi-point video conferencing system, audio-visual information for transmission and switching part, which is based on certain criteria for audio-visual signal processing, and on request allocation of each channel to be connected, but it is not necessary for video conferencing. (1) Communication network is a series of devices, institutions and processes, through them, attached to the end user devices on the network can be a meaningful exchange of information. It relates to the network transport protocol, network programming interfaces and so on. (4)Video conferencing system has undertaken a variety of media terminal device information input, output and processing, and the connection between the user and network, interact and control a number of tasks. It belongs to the user digital communication equipment, in the system at the user's audio, data input / output devices and networks. (1)Sometimes the need for video conferencing between multiple points of information transmission and exchange, then you can control unit by means of multi-point (MCU) to achieve. Multipoint control unit is actually a multimedia information exchange, multi-point call and connection, to achieve video broadcasting, video selection, audio mixing, data broadcasting and other functions, the completion signal of the terminal tandem with the switch. MCU signals sent by the various terminals to separate, extract audio, video, data and signaling, respectively, corresponding to the processing unit, or switch audio mixing, video switching, data broadcasting, routing, session control, timing, and call processing, the processed signal from the multiplexer in accordance with the H.221 format, framing, and then sent to the designated port by the network interface. (5)。