C++基础:构造、继承、模板、STL基础知识示例代码

本文通过C++代码展示了复杂数类`complex`、字符串类`string`、模板类`mytemplate`、继承类`father`和`son`以及STL容器`vector`、`list`和`map`的使用。主要涵盖类的构造、拷贝构造、赋值操作、虚函数、模板以及STL容器的基本操作。代码中还包含了对容器的扩展使用,如多维数组和智能指针的应用。
摘要由CSDN通过智能技术生成

main.cpp

//#include "cemployee.h"

#include "complex.h"
#include "string.h"
#include "template.h"
#include "relation.h"
#include "stl.h"

//#include "li.h"
int main()
{
   
	//complex_test();
	string_test();
	//template_test();
	//relation_test();
	//myspace::vector_test();
	//myspace::list_test();
	//myspace::map_test();
	cout << "*****************************************" << endl;
	myspace::vectorExt();

	while (1);
	return 0;
}

complex.h

#pragma once
#include <iostream>
using namespace std;

namespace myspace
{
   
	class complex//复数
	{
   
	public:
		complex(double r = 0, double i = 0):re(r),im(i){
    }
		complex& operator += (const complex&);
		double real() const {
    return re; }
		double imag() const {
    return im; }
	private:
		double re, im;

		friend complex& _doapl(complex*, const complex&);
	};

	//定义
	inline complex& _doapl(complex* ths, const complex& r)
	{
   
		ths->re += r.re;
		ths->im += r.im;
		return *ths;
	}

	inline complex& complex::operator+=(const complex& r)
	{
   
		return _doapl(this, r);
	}

	inline double real(const complex& x)
	{
   
		return x.real();
	}

	inline double imag(const complex& x)
	{
   
		return x.imag();
	}

	inline complex operator+ (const complex& x, double y)
	{
   
		return complex(real(x) + y, imag(x));
	}
}

ostream& operator << (ostream& os, const myspace::complex& x)
{
   
	return os << '(' << real(x) << ',' << imag(x) << ')';
}

void complex_test(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值