如果有错误和改进可以在评论区打出,谢谢观看笔记!
笔记的呈现形式为代码的方式,一起回忆回忆第一节课的知识点吧!
#include<iostream>
using namespace std;
/***************************************/
namespace Tom{//命名空间.. Tom为这个空间的名字
int i,j;
void fu1(int a,int b)//!!!!!!!!
{
cout<<a+b<<"***********"<<endl;
}
}
/********************************/
class Circle{//类的定义!!!!! (抽象分类 )
// 【可以在项目的不同文件内去打代码在主函数内去引用】
public: /*public:公有权限 (公开的)
外面看得也就是有开放接口
private:私有权限 (被隐藏)
外面无法看到和使用没有开放端口
protected:保护权限 (半公开的)
.....
*///如果没在public里面的话默认为private
double r; //数据成员 不能初始化!!!
double output(int r); //函数成员,类的成员相互访
double pp(); //问不需要刻意注意次序
void input();
};
/****/
double Circle::output(int r)//类的函数声明原型
{
return r*r*3.14;
}
double Circle::pp()
{
return 3*3;
}
void Circle::input()
{
cout<<"input::"<<r;
}
/**************************************/
void f(int &a);//a应用变量 ....
void p(int x=10)
{
cout<<"x="<<x<<endl;
}
int max(int a,int b)//编译器会根据元素个数和元素类型自动选择
{
return a>b?a:b;
}
/************!!!!***!!!!*******************/
inline double ini(int a)
{//需要是简单函数,且多次调用速度才会体现出来
return a;//内连函数会根洪一样在编译时....加快运行效率!!!
}
/******************************/
double max(double a,double b)
{
return a>b?a:b;
}
main()
{
int x(10);//x=10;
cout<<"x="<<x<<endl;
const int y(5);//定义常变量不可改变!!!
int &xa=x;//引用变量,相与*p 间接访问,定义后不可改
//xa与x共用一个内存单元
cout<<"xa="<<xa<<endl;
p(x);
p(x=20);
/***************************************/
//调用命名空间里面的函数跟变量
Tom::i=10; Tom::j=20;//访问全局变量
Tom::fu1(Tom::i,Tom::j); //调用函数
/****/
using Tom::i;//单独声明各标识符的命名空间
using Tom::j;
using Tom::fu1;
i=10; j=25;//再次引用时不在需要通过Tom::访问
fu1(i,j);
/*
using Tom; 统一声明所以标识符!!!
*/
/*************************************/
int *p=new int(10);
cout<<"p="<<*p<<endl;
// delete []x; 释放的是一个数组!
/*************************************/
//使用类里面的函数和变量先声明!!!!!
Circle obj1; //定义一个类的对象obj1
Circle *q;
q=&obj1;
cin>>obj1.r;
cout<<"obj1.r="<<obj1.r<<endl;
cout<<obj1.pp()<<endl;
obj1.input();
cout<<endl;
q->input();
cout<<q->r<<endl;
/*
!!!!!!!!重点!!!重点!!!!!!!!!
类的封装和隐藏:::为了防止函数重名之类的情况出现
使用类的话,!你没使用的调用的函数不会与外面的冲突
!但你所调用的 !封装在类里面的函数可以调用它!!
请看文件开头
*/
/**************************************/
}