自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (2)
  • 收藏
  • 关注

转载 C++运算符重载三种形式(成员函数,友元函数,普通函数)详解

首先,介绍三种重载方式: 1 //作为成员函数重载(常见) 2 class Person{ 3 Private: 4 string name; 5 int age; 6 public: 7 Person(const char* name, int age):name(name),age(age){} 8 bool operator<(c...

2018-07-07 15:29:56 12793 2

转载 陷阱重重的C++赋值重载函数operator=

曾经有C++高手说过:看一个C++程序员功底是否够硬,让他写个赋值重载函数就能看出来了!在我看来,这种说法并不夸张。因为能将operator=函数写好确实需要扎实的基础,其中的陷阱真不少。陷阱一:不懂规避自我拷贝先看代码string& string::operator=(const string& rhs){ if (m_pStr != NULL) delete...

2018-07-07 15:18:54 241

转载 重载operator[]的注意事项

【C++语法】关于operator[]重载的注意点今天在书上注意到这样一段代码:#include <iostream>#include <cassert>#include <string>using namespace std; template <class type, int dim>class Point{public: Point(); Po...

2018-07-07 15:01:14 1659

转载 区别++/--操作符前置和后置的差异

这篇文章不是讨论(i++)+(i++)+(i++)的计算结果,更不是讨论(i++)+(++i)+(i++)。 在C++教程中,我们都会学到:i++和++i是两个表达式,他们都会对i进行自增,但是呢,作为表达式,i++的值是自增之前的值,++i的值是自增之后的值。 本文在此基础上,进行一些稍微深入的讨论。 从操作符重载的角度,看i++和++i的区别,是一个比较好的切入点。 操作符重载假设有一个类Ag...

2018-07-07 14:46:57 486

转载 理解常量成员函数

常量成员函数 (const member function), 可读取类中的数据成员,但不能修改。1  声明1.1  const 关键字    参数列表后,加 const 关键字,声明为常量成员函数,表明其不被允许修改类的数据成员  下面的类,以年、月、日的形式来表示日期 (注意:年月日的声明顺序)class Date {public: int GetYear() const { ret...

2018-07-04 21:49:49 3342 1

转载 C++为类中提供类成员的初始化列表(★firecat推荐★)

在使用C++编程的过程当中,常常需要对类成员进行初始化,通常的方法有两种:第一种方法:CMYClass::CSomeClass(){ x=0; y=1;}第二种方法:CSomeClass::CSomeClass() : x(0), y(1){}本文将要探讨这两种方法的异同以及如何使用这两种方法。    从技术上说,第二种方法比较好,但是在大多数情况下,两者实际上没有什么区别...

2018-07-04 21:26:13 7471

转载 C++类中引用成员和常量成员的初始化(初始化列表)

如果一个类是这样定义的:Class A{ public: A(int pram1, int pram2, int pram3); privite: int a; int &b; const int c; }假如在构造函数中对三个私有变量进行赋值则通常会这样写:A::A(int pram1...

2018-07-04 21:24:23 2633

转载 将成员变量声明为private

切记声明数据成员为private。它为客户提供了访问数据的一致,细微划分的访问控制,允许约束条件获得保证,而且为类的作者提供了实现上的弹性。     protec并不比public更具有封装性。不应该将数据成员声明为public的三个理由:一、语法一致性        如果数据成员不是public的,客户访问一个对象的唯一方法就是通过成员函数。如果在public接口中的每件东西都是函数,客户就不必...

2018-07-04 21:04:10 2196

转载 class对象大小与什么有关系

之前看了很多关于类对象大小问题的计算,今天闲着没事就来整理整理,写写自己的看法。首先,来看看一个只有构造函数和析构函数的空类:[cpp] view plain copy#include <iostream>  using namespace std;  class Base  {  public:      Base();      ~Base();  };  int main(int...

2018-07-04 20:56:13 505

转载 struct和class的关系

一、 C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。    struct能包含成员函数吗?   能!    struct能继承吗?          能!!    struct能实现多态吗?       能!!! 原文:http://blog.csdn.net/xdrt81y/article/details/17143...

2018-07-03 22:28:06 968

转载 若不想使用编译器自动生成函数,就该明确拒绝

编译器会自动为我们生成构造函数,拷贝构造函数,赋值操作符和析构函数。如果想要拒绝他们自动生成,那么就自行声明他们,并且令这些函数为private,从而阻止人们调用他。方式一:很明显直接的方法,正如前面所说的,将函数声明为private,但是这样并不绝对安全,因为member函数和friend函数还是可以访问到private成员。方式二:在方式一的基础上,只将函数声明不给出定义,这样编译不出错,但是...

2018-07-03 22:11:42 203

转载 关于#和##的讨论

一、一般用法 我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起. 用法: #i nclude #i nclude using namespace std; #define STR(s)      #s #define CONS(a,b)   int(a##e##b) int main() {      printf(STR(vck));            // 输出字符串"vck...

2018-07-03 21:38:11 116

C++解析json静态库.rar

C++解析json静态库,版本VS2005 VS2008 VS2010 Vs2012 VS2015 Vs2017

2019-12-07

基于Socket编程的代码

基于Socket编程代码,共有两个文件代码,一个是服务器一个客户端,运行建立连接能相互通信

2013-04-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除