c++复习笔记(2)
2024-10-10 08:40:47
1. 类与对象
类的声明与结构,数据成员和成员函数。
成员函数可以在类外被定义。但是必须在类内声明。
封装:protect——允许类成员和派生类成员访问。
构造函数之外,还有一种初始化类成员的方法:参数初始化表。(待补充)
声明带参数的构造函数,除了传递实参之外,也可以制定默认值。
析构函数是在对象生命周期结束时自动执行的。
class ClassText {
public:
ClassText() {
a = 0;
b = 0;
}
ClassText(int a,int b);
int sum() {
return a+b;
}
~ClassText() {
cout<<"goodbye"<<endl;
} private:
int a, b;
}; ClassText::ClassText(int a, int b) {
this->a = a;
this->b = b;
} int main() {
ClassText ct1 = ClassText();
cout<<ct1.sum()<<endl;
ClassText ct2 = ClassText(1,2);
cout<<ct2.sum()<<endl; return 0;
}
上面例子大概覆盖了前面提到的点。不过默认值尝试了一下,有点问题…………
输出结果为:
0
3
goodbye
goodbye
静态参数,类和派生类也共享同一个静态参数。(java也是这样么?)
静态函数没有this指针,非静态函数有this指针。
this指针,基本上当java的this用,区别就在于这里是指针,用->访问成员参数。
类模板,跟函数模版差不多,声明方法如下:
template<class T>
class Operate{
...
}
一般情况下,析构函数和构造函数的调用顺序正好相反。(何时调用析构函数待补充)
类的继承,在访问属性上,就高不就低。private>protect>public
虚函数主要是为了利用指针来调用基类中的方法。(详细的内容待补充)
纯虚函数可以理解成是java中的接口。
最新文章
- android 自定义通知栏
- WordPress目录文件结构详细说明
- CentOS6.3 编译安装LAMP(2):编译安装 Apache2.2.25
- 安卓手机APP压力monkey测试
- Quartus 编译错误
- PHP中,文件上传实例
- 友盟iOS推送配置(从真机调试到推送)
- git还原成某个点
- 一篇很好介绍stringBuffer和StringBuilder的区别--来自百度
- 显示器VGA视频数据线的问题
- Selenium启动本地firefox的profile
- 关于错位动画的练习,原生js编写
- css:nth-of-type()选择器用法
- Java-hibernate的映射文件
- mysql索引简单介绍
- CodeForces 662D International Olympiad
- WebRequest调用
- [转帖]Office全版本零售版转换VOL
- DOM 讲解
- 使用Python自己实现简单的数据可视化
热门文章
- NIO非阻塞式编程
- JAVA初始化及类的加载
- 通过BulkLoad快速将海量数据导入到Hbase(TDH,kerberos认证)
- hive中一般取top n时,row_number(),rank,dense_ran()常用三个函数
- 阿里云对象存储OSS及CDN加速配置
- 安装Linux Deploy和Termux之后,再安装ftp服务软件都是多余的!
- Spring Boot 应用使用spring session+redis启用分布式session后,如何在配置文件里设置应用的cookiename、session超时时间、redis存储的namespace
- 十二:SQL注入之简要注入
- 【Python】国内pip节点
- 【Oracle】修改oracle中SGA区的大小