博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2017.2.20
阅读量:5010 次
发布时间:2019-06-12

本文共 1686 字,大约阅读时间需要 5 分钟。

1.类

性质关键字:protected:类和派生类可以使用

内联,重载,常成员函数不能修改,mutable不受不受const成员函数影响。

构造函数:可以重载,没有返回值。内嵌类,子类先构造后析构,母类后构造先析构

类里的引用和常量,要在构造函数中初始化。

类的外部const属性去不掉,从代码区常量表中读,类中的const可以强制转换去掉,从内存中读取。

拷贝构造函数:default和delete用法

1 //delete可以禁用默认生成的函数,禁用构造可以无法实例化  2 //禁用拷贝构造,可以实现禁止别人拷贝你  3 //default默认存在  4 class myclassA  5 {  6 public:  7 	//myclassA::myclassA(void)”: 尝试引用已删除的函数  8 	//  myclassA() = delete;//默认删除构造函数,无法实例化  9 	//myclassA() = default;//默认存在 10 	//myclassA(const 	myclassA &) = delete;//拷贝构造函数 11 	//myclassA(const 	myclassA &) = default; 12 	//= 13 	~myclassA(); 14 };

深拷贝和浅拷贝

1 string(const string & string1)  2 	{  3 		//qian  4 		//this->p = string1.p;  5 		//	this->length = string1.length;  6 		//shen  7 		this->p = new char[string1.length];  8 		this->length = string1.length;  9 		memset(this->p, 0, this->length);// 10 		strcpy(this->p, string1.p); 11 	}

静态成员变量:不能在类中初始化,不属于对象变量,可以不借助实例类对象访问,可以用于计数。

静态成员函数:没有this指针,不属于某对象变量,静态成员函数不可以调用类的非静态成员,

1 void(myclass::*p1)() = &myclass::run;  2 //代码共享,所有的类对象共享对象,  3 void(*p2)() = &myclass::go;//静态函数,与对象没有关系

静态常量:

1 class A  2 {  3 public:  4 static const int dashu;  5 }  6 const int myclass::dashu = 20;//常量  7   8 void  main()  9 { 10 	const int *px = &(myclass::dashu); 11 	std::cout << px << std::endl; 12 	int *p = const_cast
(px); 13 *p = 123;//静态常量区可以访问,不可以修改, 14 std::cout << *px << " " << *p << " " << myclass::dashu; 15 16 std::cin.get(); 17 18 19 }

友元函数:

独立的,友元函数可以访问类的私有变量,还可以访问私有函数

友元函数声明有friend,定义就不需要了或者定义在内部
友元类:
不适用于继承,只适用于当前类,
 

2.union共同体大小由其中最大类型的决定,始终只能有一个变量,不能继承,成员都是公有的,不能修改。

  内部数据是共享的,对象之间是独立的,代码是共享的。

3.等号和括号的区别

4.explicit  避免歧义,误认为可以类型转换

转载于:https://www.cnblogs.com/acliang/p/6421830.html

你可能感兴趣的文章
(译)yaml快速教程
查看>>
C:大数相加
查看>>
160. Intersection of Two Linked Lists
查看>>
人生苦短,我用python-- Day11
查看>>
JAVA Bean
查看>>
ehcache memcache redis 三大缓存男高音_转
查看>>
curd_3
查看>>
百度地图API示例之设置地图显示范围
查看>>
Java构造方法、重载及垃圾回收
查看>>
.Net Core AES加密解密
查看>>
Spring Quartz实现任务调度
查看>>
python | 桶排序、冒泡排序、选择排序、去重
查看>>
两个Html页面之间值得传递
查看>>
EasyUI datagrid 的多条件查询
查看>>
Mac升级bash到最新版本
查看>>
利用vagrant打包系统--制作自己的box
查看>>
美女与硬币问题
查看>>
计算几何算法概览 (转)
查看>>
Notepad++的ftp远程编辑功能
查看>>
数据库多对多关联表(Python&MySQL)
查看>>