现在位置: 首页 > 自动控制 > 工业·编程 > 文章
2012-08-08 14:36 工业·编程 ⁄ 共 1089字 暂无评论
对于普通类型的对象来说,它们之间的复制是很简单的,例如: int a=88; int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 #include <iostream> using namespace std; class CExample { private:     int a; public:     CExample(int b)     { a=b;}  &...
阅读全文
2012-08-08 14:28 工业·编程 ⁄ 共 1129字 暂无评论
1. 枚举的定义枚举类型定义的一般形式为: enum 枚举名{ 枚举值表 }; 在枚举值表中应罗列出所有可用值。这些值也称为枚举元素。 例如: 该枚举名为weekday,枚举值共有7个,即一周中的七天。凡被说明为weekday类型变量的取值只能是七天中的某一天。 2. 枚举变量的说明 如同结构和联合一样,枚举变量也可用不同的方式说明,即先定义后说明,同时定义说明或直接说明。 设有变量a,b,c被说明为上述的weekday,可采用下述任一种方式...
阅读全文
2012-08-08 14:26 工业·编程 ⁄ 共 2399字 暂无评论
一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分: 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap)— 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在...
阅读全文
2012-08-08 14:17 工业·编程 ⁄ 共 245字 暂无评论
#define swap(x,y) {int temp=x;x=y;y=temp;} //换行写法 #define swap(x, y)\ int temp = x;\ x = y;\ y = temp; #define swap(x,y)  {x= x+y;y=x-y;x=x-y;} //换行写法 #define swap(x,y)\ x=x+y;\ y=x-y;\ x=x-y;\ 通过按位异或运算,可以实现两个值的交换,而不必使用临时变量 void swap(int &a,int &b) {     a=a^b;     b=a^b;  &...
阅读全文
2012-08-08 14:15 工业·编程 ⁄ 共 695字 暂无评论
第一:private, public, protected 访问标号的访问范围 private:只能由1.该类中的函数、2.其友元函数访问。 不能被任何其他访问,该类的对象也不能访问。 protected:可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。 但不能被该类的对象访问。 public:可以被1.该类中的函数、2.子类的函数、3.其友元函数访问,也可以由4.该类的对象访问。 注:友元函数包括3种:设为友元的普通的非成员函数;设为友元的其他类的...
阅读全文
2012-08-08 13:57 工业·编程 ⁄ 共 693字 暂无评论
为了编译器区分前置和后置++,C++规定后缀形式有一个int类型参数 ,当函数被调用时,编译器传递一个0做为int参数的值给该函数。不这样规定,无法区分,因为都仅以自身对象为入参。     下面是一个简单的例子: class  CInt  {     private :       int  m_value;     // } ; CInt  &  CInt:: operator ++...
阅读全文
2012-08-08 13:55 工业·编程 ⁄ 共 1158字 暂无评论
    /* 今天看了c++发明人的the c++ programming language(special edition)关于临时对象的说明,虽然是一小节,但感觉c++的书籍,论内容还是这本最权威,里面很多东西都直接确定的表达了出来,权威、确定而令人信服。     临时对象的生存时限在这本书中只花了不长的篇章,但说的很清楚,临时对象的生存时限 限制在其出现的“完整”的表达式中,“完整”的表达式结束了,临时对象也就销毁了。例外是...
阅读全文
2012-08-08 13:25 工业·编程 ⁄ 共 1050字 暂无评论
一、typedef的用法     typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: typedef    int       INT; typedef    int       ARRAY[10]; typedef   (int*)   pINT;     typedef可以增强程序的可读性,以及...
阅读全文
2012-08-08 13:23 工业·编程 ⁄ 共 1058字 评论 1 条
    我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明:        有下面的两个类: class ClxBase { public:     ClxBase() {}     virtual ~ClxBase() { cout<<"  基类析构函数始终会被调用的"<<endl;}   &...
阅读全文
2012-08-08 13:20 工业·编程 ⁄ 共 2385字 暂无评论
1.用VC建立一个WIN32 DLL 我们利用VC编写DLL有几种方法.如果用VC建立一个WIN32 DLL 工程.那这个工程就应该只导出C++的类或全局变量.和全局函数.方法就是在CPP文件中编写你的代码,为每个需要导出的元素进行导出办法是增加如下语句: _declspec(dllexport) 你当然可以把它定义成宏 例如,如果是一个类STUDENT需要导出, 那么声明时应该是这样写 class _declspec(dllexport) student; 当然也可以定义时直接导出. 我们的客户端,也就是...
阅读全文