回头看了C++的语法基础,与C不同点记录、以及以前不知道的内容记录如下:
cout << a << endl; endl表示输出空格,类似\n;
数字后面后缀代表类型;100F,表示float型的100;
隐式类型转换 char<short<int<float<double;运算时类型不同,会自动从低类型像高类型转换,且永远是右边向左边转。而且,小数转整数。取整不是四舍五入。
sizeof();返回占据的字节数;
反斜杠 \ 转义符、续行
stew(n), 输出时候占据n个字符,数字不足的前面用b(空)表示;设置位置小会自动补齐,够输出为止;
setprecision(n),精确几位小数。使用之前先fixed,将科学计数法去掉。
空白符 WhiteSpace , \t,\b,\n 等,使用cin是会自动跳过的,要想录入需要使用 cin.get();(智能读取字符型);
流的忽略。cixp) 其中intExp 是一个整型表达式,也可以是一个整型数值,这个数值表示在一行中忽略的字符的最大数目,比如说intExp=100;还有一个参数chExp,是一个字符表达式。表示如果遇到一个字符值等于chEXP,那么就停止ignore(),如果ignore100个字符之后还没遇到值等于chEXP的字符,那也得停止ignore(),所以100是ignore()所忽略的最大字符数。


函数实参与形参 形参前加& 表示引用,引用的话 实参形参类型必须完全一致,且实参只能是变量。引用的好处是可以返回多个函数值。 (相当于穿进去地址,对地址内数据改变,相当于实参发生了改变)。形参是数组的时候不用加&。
局部静态变量:static 作用时间直到内存释放(程序结束),注意,static int n=0; 初始化语句只会执行一次,第一次后会忽略这一句。
函数重载:名字可以一样,参数(个数)不同即可。
哑元函数:返回值是固定的函数,用于测试以及debug。
struct ,未定义具体对象时候不分配内存
对象 (struct) 的集合操作:赋值、作为参数传递(By value or By reference)、作为函数的返回值
eg: student_record student,otherstudent; student=otherstudent; 内部元素对应赋值。
结构体的嵌套,每一级要用一个.(dot)
联合体:union。内部成员共享内存,同时只有一个成员有意义。(避免数据不一致带来的问题)
类:
class temp //类名称。
{
public: //此处是公共变量
void set();
void write()const; // 常量函数,对类内部成员只能读,不能写
mutable int a; //可变的 ,const函数可以可以对其进行修改
private: //class内部才能调用
protected: //受保护的成员
//私有和保护的区别:保护可以继承到子类中
}
this指针:
void TimeType::set(int hours,int minutes,int seconds){ // :: 定义class内部函数时候要加
this->hrs = hours; //this ,当前结构体内部数据,谁调用的就指谁。
}
定义类的过程中可以对类中的私有成员进行访问与改变(不是一个,同类型就可以改变)。
构造函数: //构造函数必须和类名字相同,函数不能有类型,可以有不同形参构成重构,不可认为调用
TimeType(){
hrs=0;mins=0;secs=0;
}
TimeType(int initHers,int initMInus,int initSecs){ //会有初值
hrs=inintHers; minus=initMinus;secs=initSecs;
}
函数重写(funcation override):发生在类的继承时
动态数组:cin >> n; int *p = new int[n]; 定义了一个n长的数组 p[0]-p[n-1],用数组定义,使用完要释放指针(delete)
结构体(类)数组:
class TimeType
{
};
TimeType train[10]; //定义一个是个元素的类数组,每一元素代表一个类
内存泄漏:p=new char; new 新的指针后,最后一定要delete。不然内存越来越少。
操作符重载:void MyClass::operate = (const Myclass &original){
a1=orginal.a1+100;
}
这样,两个类 在赋值时,m2=m1;就会按照新定义的 = 来进行运算
类的三种继承方式:公共public继承、保护protected继承、私有private继承。
两点注意:一父类中的私有不可以被继承; 二、父类被继承到派生类的成员,在派生类中的访问权限是取继承方式和基类(父类)中访问权限较小的访问权限(private<protected<public)
关于vector ,暂未发现! 接着要找资料
这篇博客详细记录了C++语法基础中与C语言的不同点,包括 endl 的作用、数字后缀、隐式类型转换规则、sizeof() 的用法、流的忽略方法等。此外,还介绍了引用、局部静态变量、函数重载、类与结构体的操作,以及构造函数、动态数组和操作符重载等概念,强调了内存管理和继承的访问权限规则。

898

被折叠的 条评论
为什么被折叠?



