- 博客(47)
- 收藏
- 关注
原创 成员列表函数
如果方法或函数要返回局部对象,则应返回对象,而不是对象的引用。在这种情况下,将使用复制构造函数来生成返回的对象。如果方法或函数返回一个没有公有复制构造函数的类(如ostream)的对象,它必须返回一个指向这种对象的引用。最后,有些方法和函数(如重载的复制操作符)可以返回对象,也可以返回指向对象的引用,在这种情况下应首选引用,因为其效率更高。class string{private:
2010-06-29 21:02:00
254
原创 复制构造函数 赋值操作符
静态数据成员在类声明中声明,在包含类方法的文件中初始化。这是因为声明描述了如何分配内存,并不分配内存。初始化时使用作用域解析符来指出静态成员所属的类,但如果静态成员是整型或枚举型const,则可以在类声明中初始化。如果没有定义,C++自动提供了下面这些成员函数:默认构造函数;复制构造函数;赋值操作符;默认析构函数;地址操作符;复制构造函数用于将一个对象复制到新创建的
2010-06-28 20:31:00
283
原创 CSocket文件传输流程
1.从CSocket类派生两个子类:CServerSocket和CClientSocket.声明一个CClientSocket*类套接字 m_pSendSocket用来发送数据声明一个CServerSocket*类套接字 m_pServerSocket用来监听 一个CServerSocket*类套接字 m_ServerSocket用来接收数据分别绑定好端口后,m_pS
2010-06-28 15:26:00
957
原创 转换函数
stonewt mycat;mycat=19.6;程序使用构造函数stonewt(double)来创建一个临时的stonewt对象,并将19.6作为初始值。随后采用逐成员赋值方式将该临时对象的内容复制到mycat中,这一过程称为隐式转换,它是自动进行的。只有接受一个参数的构造函数才能作为转换函数,它定义了从参数类型到类类型的转换。可以用关键字explicit来关闭这种自动特性,也就
2010-06-28 15:23:00
234
原创 重载操作符
要重载操作符,需使用被称为操作符函数的特殊函数形式。操作符函数格式:operator op(argument-list),其中op是要重载的操作符。op须是有效的C++操作符,不能虚构一个新的符号。在操作符表示法中,操作符左侧的对象是调用对象,右边的对象是作为参数被传递的对象。重载+运算符,t4=t1+t2+t3;由于+是从左至右结合的操作符,上述语句首先被转化成:t4=t1.op
2010-06-28 15:22:00
277
原创 名称空间、using声明、using编译指令
C++关于全局变量和局部变量的规则定义了一种名称空间层次,每个声明区域都可以声明名称,这些名称独立于其他声明区域中声明的名称。一个名称空间中的名称不会与另外一个名称空间的相同名称发生冲突,同时允许程序的其他部分使用该名称空间中声明的东西。名称空间可以是全局的,也可以位于另一个名称空间中,但不能位于代码块中。因此,在默认情况下,在名称空间中声明的名称的链接性为外部的。名称空间是开放的,可以把
2010-06-28 15:17:00
548
原创 构造函数、析构函数、this指针、const成员函数
其定义位于类声明中的函数都自动成为内联函数;如果愿意,可以在类声明之外定义成员函数,通过在类的实现部分中定义函数时使用inline限定符,即可使其成为内联函数。每个新对象都有自己的存储空间,用于存储其内部变量和类成员;但同一个类的所有对象共享同一组类方法,即每种方法只有一个副本。构造函数的参数名不能与类成员相同,因为构造函数的参数表示的是赋给类成员的值。Stock *pstock=ne
2010-06-28 15:12:00
1168
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人