自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 c++多态原理

1 当类中声明虚函数时,编译器会在类中生成一个虚函数表 2 虚函数表是一个存储类成员函数指针的数据结构 3 虚函数表是由编译器自动生成与维护的 4 virtual成员函数会被编译器放入虚函数表中 5 当存在虚函数时,每个对象中都有一个指向虚函数表的指针(C++编译器给父类对象、子类对象提前布局vptr指针;当进行howToPrint(Parent *base)函数是,C++编

2015-08-29 23:40:11 753 1

原创 c++多态总结

概述Parent *p = new Child();//父类指针指向子类对象 p->print();//编译器为了安全会调用父类方法 我们希望父类对象调用父类方法,子类对象调用子类方法。因此,引入多态概念,使用虚函数,实现期望。函数重写 在子类中定义与父类中原型相同的函数 函数重写只发生在父类与子类之间class Parent{public: void print() {

2015-08-27 23:06:07 2870

原创 c++继承总结

继承 1)继承是面向对象程序设计实现软件重用的重要方法。程序员可以在已有基类的基础上定义新的派生类。 2) 单继承的派生类只有一个基类。多继承的派生类有多个基类。 3) 派生类对基类成员的访问由继承方式和成员性质决定。 4) 创建派生类对象时,先调用基类构造函数初始化派生类中的基类成员。调用析构函数的次序和调用构造函数的次序相反。 5)C++提供虚继承机制,防止类继承关系中成员访问的二义性

2015-08-24 21:19:08 669

原创 c++操作符重载

/*-----MyString.h-----*/class MyString { friend ostream& operator<<(ostream &out, MyString &s);private: int m_len; char *m_p;public: MyString(); MyString(const char *p); MyStr

2015-08-22 20:46:20 929

原创 c++友元实现操作符重载

运算符重载的本质是一个函数#include <iostream>using namespace std;class A {private: int m_a; int m_b; friend A operator+(A &a1, A &a2);//友元函数访问私有属性,实现二元运算符重载 friend A operator++(A &a); //友元函数访问私有属性,实

2015-08-22 16:14:29 3254

原创 c++函数返回局部变量

char* func() { char arr[] = "Hello,World\n"; // arr[] 所有元素保存在栈内存上 return arr; // 返回局部变量或临时变量的地址 /*即返回了指向栈内存的指针,而返回后栈内存都会被自动回收,main里面接收到的地址指向的内存已经不存在,变为野指针 */} int main() {

2015-08-22 15:22:36 1629

原创 c++引用返回值

引用作为函数的返回值时,函数的返回值可以理解为函数返回了一个变量(事实上,函数返回引用时,它返回的是一个指向返回值的隐式指针),因此,值为引用的函数可以用作赋值运算符的左操作数。另外,用引用返回一个函数值的最大好处是,在内存中不产生被返回值的副本。#include <iostream>using namespace std;double array[5] = {1.1, 1.2, 1.3, 1.4

2015-08-22 15:10:45 798

原创 c++深拷贝和浅拷贝

默认复制构造函数可以完成对象的数据成员值简单的复制 对象的数据资源是由指针指示的堆时,默认复制构造函数仅作指针值复制#define _CRT_SECURE_NO_WARNINGS #include <iostream>using namespace std;class Name{public: Name(const char *myp) { m_len

2015-08-19 19:41:27 700

原创 c++构造函数初始化列表

对象初始化列表出现原因 1) 如果我们有一个类成员,它本身是一个类或者是一个结构,而且这个成员它只有一个带参数的构造函数,没有默认构造函数。这时要对这个类成员进行初始化,就必须调用这个类成员的带参数的构造函数,如果没有初始化列表,那么他将无法完成第一步,就会报错。 2) 当类成员中含有一个const对象时,或者是一个引用时,他们也必须要通过成员初始化列表进行初始化,因为这两种对象要在声明后马上初

2015-08-19 19:34:53 1004

原创 c++中static总结

在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。 通过类名调用静态成员函数和非静态成员函数/*class Point{public: void init() { } st

2015-08-19 15:58:32 714

原创 java贪吃蛇

/*-----Yard.java-----*/package tanchishe;import java.awt.Color;import java.awt.Frame;import java.awt.Graphics;import java.awt.Image;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent

2015-08-18 20:52:42 995

原创 java中TCP传输协议

class TcpClient { public static void main(String[] args) throws Exception { //创建客户端的socket服务,指定目的主机和端口 Socket s = new Socket("192.168.1.10",10003); //为了发送数据,获取socket流中的输出流

2015-08-13 13:15:17 1324

原创 c++函数指针与默认参数

#include <iostream>using namespace std;inline void printA() { //内联函数,提高效率 int a = 10; cout << a << endl;}void printB(int ,int a=4) { //默认参数 cout << a << endl;}void printC(int a, int b, i

2015-08-12 21:45:25 5101

原创 c++引用总结

引用做函数参数struct Teacher{ char name[64]; int age ;};void printfT(Teacher *pT){ cout<<pT->age<<endl;}//pT是t1的别名 ,相当于修改了t1void printfT2(Teacher &pT){ //cout<<pT.age<<endl; pT.age =

2015-08-12 20:28:22 858

原创 C/C++中的const与define

constint main(){ const int a; int const b; const int *c; int * const d; const int * const e ; return 0;}含义: 第一个第二个意思一样 代表一个常整形数 第三个 c是一个指向常整形数的指针(所指向的内存数据不能被修改,但是本身可以修改) 第四

2015-08-12 20:10:45 677

原创 多维指针

void main2(){ int i = 0; //指针数组 char * p1[] = {"123", "456", "789"}; //二维数组 char p2[3][4] = {"123", "456", "789"}; //二维内存 char **p3 = (char **)malloc(3 * sizeof(char *));

2015-08-11 21:54:16 1324

原创 内存四区模型与指针

数据类型的封装 1、void的字面意思是“无类型”,void 则为“无类型指针”,void 可以指向任何类型的数据。 2、用法1:数据类型的封装 int InitHardEnv(void **handle); 典型的如内存操作函数memcpy和memset的函数原型分别为   void * memcpy(void *dest, cons

2015-08-11 14:54:46 1444

空空如也

空空如也

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

TA关注的人

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