类模板、函数模板、其他
static
示例代码:
实际创建过程当中,由于传入的对象不同,所以返回的real()
内容不同
complex c1,c2,c3;
cout << c1.real();
cout << c2.real();
// 编译器实际执行
complex c1,c2,c3;
cout << complex::real(&c1);
cout << complex::real(&c2);
由于传入的指针对象不同.所以返回的real()
值不同 -> real()
函数只有一份.所以通过this
这个指针区分需要处理哪个对象
static
在数据或者函数之前加了static
以后会在内存当中单独有一块区域(只有一份) -> 静态数据如利率
static member functions
和member functions
的区别在于,static
函数没有this
这个指针
静态函数如果要处理数据只能去处理静态数据
示例代码:
account-test.cpp
:
将构造函数放在private
的位置:
class A
{
public:
static A& getInstance() { return a; };
private:
A();
A(const A& rhs);
static A a; // 这个写法当中无论如何都会创建A对象,无论外界是否使用
};
A& A::getInstance()
{
return a;
}
更新改进:
class template(类模板)
类模板示例:
类模板在头文件声明类之前要写出
function template(函数模板)
示例代码:
namespace(命名空间)
语法:
namespace std
{
}
所有的东西被包装在namespace
当中 -> 可以理解一块独立区域
如何使用命名空间?
示例代码:(using directive
):
#include <iosteam.h>
using namespace std;
int main()
{
cin << ...;
cout << ...;
return 0;
}
如果不使用命名空间:(using declaration)
#include <iosteam.h>
using std::cout;
int main()
{
std::cin << ...;
cout << ...;
return 0;
}
#include <iosteam.h>
int main()
{
std::cin << ...;
std::cout << ...;
return 0;
}
It's a lonely road!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2022-03-30 2022/03/29 Mac布置项目环境进行包管理
2021-03-30 计算机系统概论
2021-03-30 3.29Java流程控制语句之循环结构