第七章——C++基础 自学之路!

不要摆烂了!快跟我一起来学电子科技大学的C++!!!
7.5函数重载




等价且更简单的默认形参——>![]()


7.6内联函数

三目运算符#define abs(a) ((a)<0? -(a):(a)) 如果a<0 取-a 否则取a
ret 中以(++m)为a 所以++m调用了两次 所以最后ret的值为0

inline同时是一个函数,so会先进行函数参数计算并进行参数类型检查 而宏定义只是单纯的替换缺点很大

ret会先调用++M=-1 再进行int abs函数 实实在在求得++m的绝对值

7.7 常量



错因:c99标准下 const n只可读不可修改的变量

一定要初始化 赋初值

7.8构造数据类型——引用
同一个东西,多个名字叫做引用

1.独立引用

因为rx是常量
2.引用作为函数参数


栈中调用 实参拷贝给形参num 不改变实参
间接改变形参数据



7.9编程实战

#include <iostream>
using namespace std;
void printStar(int n){
int i,j;
for(i=1;i<=n;i++){
for(j=0;j<n-i;j++){
cout<<" ";
}
for(j=0;j<i;j++){
cout<<"*"<<" ";
}
cout<<endl;
}
for(i=1;i<n;i++){
for(j=1;j<=i;j++){
cout<<" ";
}
for(j=0;j<n-i;j++){
cout<<"*"<<" ";
}
cout<<endl;
}
}
int main()
{
int n;
cin>>n;
printStar(n);
system("pause");
return 0;
}

9.4好记星


ifsream 文件读入流 nrol 每次显示nrol行 c判断是否继续


#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
int main()
{
ifstream book;
char name[]="myBook.txt";
const int nrol=3;
char str[80],strBook[100][80],c='y';
int i=0,j,k;
book.open(name);
while(book.getline(str,80))//getline函数,每次最多读入80个字符,读一行字符串到str中
{
strcpy(strBook[i++],str);//拷贝到strBook二维数组中 100行以内
}
k=0;
while(c!='q')
{
system("cls");//清屏函数
for(j=0;j<nrol&&k<i;++j,++k) //k是总共读了多少行,j是这屏读多少
cout<<strBook[k]<<endl;
if(k>=i) //k>=i 所有数据读完
break;
cin.get()>>c;
}
book.close();
system("pause");
return 0;
}
不太对嘤嘤嘤~~~
本文来自博客园,作者:软工菜鸡,转载请注明原文链接:https://www.cnblogs.com/SElearner/p/17676734.html
浙公网安备 33010602011771号