C++:
早上起来,先看了会儿静态成员的有关内容,尽管昨天看了一下基础知识,但在今天实际动手操作时发现还是有许多小知识点没有真正领会。下面总结一下今天比较模糊的几个地方。
1、静态数据成员的声明与初始化:
声明格式:例如 static int x;要注意的是静态数据成员的初始化操作必须在类外进行,(格式为int 类名::变量名=?)。
2、静态函数:
即在普通的成员函数前加static即可,不过静态的成员函数只能访问静态数据成员,对于一般的数据成员其不能访问。
3、静态成员的访问:
一般静态成员为public类型,此时访问形式有(这时候怎么访问都可以):
①对象+圆点形式;
②对象+指针箭头形式;
③类名::变量名;
④在类内访问就不用在前面加对象名、类名之类的了,可以直接访问。
但如果静态成员为private类型,那么就只能借助成员函数来间接访问(最好用静态函数,不用也不会报错)。
最后,还有今天写的一个日期类:
#include<bits/stdc++.h> using namespace std; class Date { public: static int sum; Date(int year=2018,int month=12,int day=25,int hour=6,int minute=55,int second=1) { this->year=year;this->month=month;this->day=day, this->hour=hour;this->minute=minute;this->second=second; sum+=day; } void set_date(int year,int month,int day,int hour,int minute,int second) { sum-=this->day; this->year=year,this->month=month,this->day=day, this->hour=hour,this->minute=minute,this->second=second; sum+=day; } int get_year(){return year;} int get_month(){return month;} int get_day(){return day;} int get_hour(){return hour;} int get_minute(){return minute;} int get_second(){return second;} static int get_sum(){return sum;} void display(); private: int year,month,day; int hour,minute,second; }; int Date::sum=0; void Date::display() { if(year<10)cout<<"0"; cout<<year<<"-"; if(month<10)cout<<"0"; cout<<month<<"-"; if(day<10)cout<<"0"; cout<<day<<" "; if(hour<10)cout<<"0"; cout<<hour<<":"; if(minute<10)cout<<"0"; cout<<minute<<":"; if(second<10)cout<<"0"; cout<<second<<endl; } int main() { Date d1; d1.display(); cout<<d1.get_sum()<<endl; d1.set_date(2018,12,24,6,55,1);//d1,d2主要想来测试一下静态数据成员的“全局性”; d1.display(); cout<<d1.sum<<endl; Date d2(2018,12,26,7,0,0);// d2.display(); cout<<Date::sum<<endl; }
高数:
对昨天课后题中的错题以及几个证明题做了一下总结,又有了新的收获。
1、求解空间曲线的切向量问题中的类型3:
该类型一般的做法是借助雅克比行列式求隐式导来求切向量,这里提供第二种做法:将方程组看做有两个曲面确定的曲线,所以有曲线在某点出的切向量即两个曲面在该点出切平面的交线。
2、小感悟:
再解有条件的极值最值问题中,有时候我们可以不按照模板,而是采用某个量用其他量表示的方法,这样就转化为了无条件极值问题。其次,这类题目中的变量可能有多个,x,y,z,λ甚至更多。。。这时候我们还是分别对它们求偏导就好了。最后,极值类问题核心还是通过联立偏导数的方程组解导数为零的点。
大物:
一、首先是伽利略的坐标转变换、速度变换、加速度变换;
①、坐标变换:r=r'+ut;
②、速度变换:v=v'+u;(均为矢量)
③、加速度变换:a=a'+a(0);
以速度变换为例说明各量的含义:v表示某点相对于静止坐标系的速度(绝对速度),v'表示该点相对于运动坐标系的速度(相对速度),u 表示静止坐标系于运动坐标系的相对速度(牵连速度)。
注意:上面各个式子均为矢量运算式,并非单纯的数值运算,若求大小,基本形式为√x²+y²。
二、第一节课后题:
题目做的很不顺手,很多地方不明白,主要区分不开应该是用矢量还是标量运算、其次还有瞬时量与平均量的关系也很模糊。
对完答案再看看吧。。。