侯捷之C++面向对象上笔记

本文介绍了C++的高级编程概念,包括正规的编程习惯、推荐的参考书籍如《C++Primer》和《EffectiveC++》,以及STL的学习资源《STL源码剖析》。文中详细讨论了模板、内联函数、构造函数(如单例模式)、常量成员函数、值传递和引用传递的使用,并涉及了类的关系,如继承、复合和委托。
摘要由CSDN通过智能技术生成

C++ 面向对象高级编程上学习笔记

目标:要有正规的、大气的编程习惯

推荐书籍

语言:《c++ primer》

专家的建议:《Effective C++》

STL:《STL源码剖析》

不带指针的类的相关知识

防卫式声明

#ifndef __COMPLEX__
#define __COMPLEX__

#endif

模板介绍

template<typename T>

内联函数

函数若在 class body 内定义完成,成为 inline 候选

class complex{
public:
double real() const { return re; }
};

构造函数

构造函数可以有很多个

构造函数放在 private 区,单例模式

complex(double r = 0, double i = 0) : re(r), im(i) {}

常量成员函数

double read() const { return re; }

值传递和引用传递

参数和返回值传递都尽量使用引用传递

通过引用传递,不想自己被修改,加上 const 修饰符

complex& operator += (const complex&);
ostream& operator << (ostream& os, const complex& x)
{
    return os << '(' << read(x) << ',' << imag(x) << ')';
}

带指针的类的相关知识

classes 之间的关系

继承

复合

委托

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值