摘要: #include<iostream> #include<string> #include<typeinfo> using namespace std; template <class Name,class Hobby,class Age> //类模板做函数的参数 class Dog{ private 阅读全文
posted @ 2019-09-03 19:45 hiligei 阅读(4963) 评论(0) 推荐(0) 编辑
摘要: 友元函数(全局函数) : 成员函数具有this指针,友元函数没有this指针; 友元函数是可以直接访问类的私有成员的非成员函数。它是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以声明,声明时只需在友元的名称前加上关键字friend,其格式如下: friend 类型 函数名(形式参数); 阅读全文
posted @ 2019-09-03 11:19 hiligei 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 本文参考自:https://blog.csdn.net/lisemi/article/details/93618161 运算符重载就是赋予运算符新功能,其本质是一个函数。 运算符重载时要遵循以下规则:1.除了类属关系运算符"."、成员指针运算符".*"、作用域运算符"::"、sizeof运算符和三目 阅读全文
posted @ 2019-09-03 09:56 hiligei 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 关键字virtual用于父类方法,如果传了一个子类对象,并且子类重写了父类的这个virtual方法,就会调用子类的方法。传谁就调用谁,这个就是多态。#include<iostream> using namespace std; class Biological{ public: virtual vo 阅读全文
posted @ 2019-09-01 21:53 hiligei 阅读(169) 评论(0) 推荐(0) 编辑
摘要: #include<iostream>using namespace std; class Base{public: Base(){ cout<<"hello"<<endl; } Base (int _a ):base(_a){ // 将a赋值给base base++; cout << base << 阅读全文
posted @ 2019-09-01 19:43 hiligei 阅读(2122) 评论(0) 推荐(0) 编辑
摘要: int *const p:常量指针,其本质是一个常量(用指针修饰),这个常量的内容是一个指针,不可以修改p指向的地址,但是可以修改*p的值。定义的时候要赋初值。(数组名也是一个指针常量) int const *p(const int *p):指针常量,其本质是一个指针(用const修饰)。说明它指向 阅读全文
posted @ 2019-08-28 11:40 hiligei 阅读(681) 评论(0) 推荐(0) 编辑
摘要: 程序由指令和数据组成。 c语言中内存分为5个区,由高地址到低地址分别为栈、堆、全局区(静态区)、常量区和代码区。 栈区(stack):存放函数局部变量,函数的参数值和返回值,由系统自动管理。 堆区(heap):由malloc函数分配内存再由free释放内存。 全局区(静态区):存放全局变量和静态变量 阅读全文
posted @ 2019-08-16 16:32 hiligei 阅读(228) 评论(0) 推荐(0) 编辑
摘要: int main(){ const char a[]="hello world"; char *aa=(char *)a; printf("\nthe a address is 0x%p,%s",a,a); aa[3]='a'; printf("\nthe a address is 0x%p,%s" 阅读全文
posted @ 2019-08-16 14:54 hiligei 阅读(549) 评论(0) 推荐(0) 编辑
摘要: 1.除了数组外,其他都有副本机制(包括结构体数组) 2.结构体作为参数具有副本机制,结构体返回值也有副本机制 。 3.函数的参数和返回值都有他的副本机制。 #include<stdio.h> int a=10,b=20; static int sum(int aa,int bb){ printf(" 阅读全文
posted @ 2019-08-16 14:19 hiligei 阅读(571) 评论(0) 推荐(0) 编辑