c++stl视频 string类学习:2小时

c++学习第14章,看完了:2小时
#include"iostream"
using std :: cout;
using std :: endl;
///Stack类模板
#ifndef STACKTP_H_
#define STACKTP_H_
template <class Type>
class Stack{
private:
enum {MAX = 10};
Type items[MAX];
int top;
public:
Stack();
bool isempty()const;
bool isfull()const;
bool push(const Type & item);
bool pop(Type & item);
};
template <class Type>
Stack<Tyep>:: Stack(){
top = 0;
}
template <class Type>
bool Stack<Tyep>:: isempty(){
return top == 0;
}
template <class Type>
bool Stack<Tyep>:: isfull(){
return top == MAX;
}
template <class Type>
bool Stack<Tyep>:: push(const Type & item){
if(top < MAX) {
items[top ++] = item;
return true;
} else return false;
}
template <class Type>
bool Stack<Tyep>:: pop(Type & item){
if(top > 0) {
item = items[-- top];
return true;
} else return false;
}
#endif // STACKTP_H_
///此模板不适合使用指针堆栈
///模板的多功能性
///1,递归使用模板
///2,使用多个类型参数,如pari
///3,默认类型模板参数
///成员模板:模板用在类,结构,模板类的成员。
template <typename T>
class beta {
private:
template <typename V>
class hold {
private :
V val;
public:
hold(V v = 0):val(v){}
void show()const {cout << val << endl;}
V Value()const {return val;}
};
hold<T> q;
hold<int>n;
public:
beta(T t,int i): q(t),n(i){}
template<typename U>
U blab(U u, T t){return (n.Value()+q.Value()) * u / t;}
void Show()const {q.show(); n.show();}
};
int main()
{
beta<double> guy(3.5,3);
guy.Show();
cout << guy.blab(10,2.3) << endl;
cout << "Done\n";
return 0;
}
///可以将模板用于参数
软件工程网课:2小时
补了昨晚复现一题:1小时

蓝书上数学题3题:3小时



明天任务大体安排:
早上起来9:00-10:00,记一个小时单词;
上午:刷cf1800-2000分题3题;(10:30-13:30)
下午:数据库+stl视频vector类;(14:30-16:10,16:20-18:30)
晚上3个小时,看c++prime第15章;(20:00-22:30)
原文:https://www.cnblogs.com/yrz001030/p/12507381.html