大一小白C++笔记第一节课

本文介绍了C++编程中的基本概念,如命名空间的使用、类的定义与成员函数、内联函数、引用、动态内存分配以及类的封装。通过实例展示了如何在主函数中调用这些概念并进行操作。
摘要由CSDN通过智能技术生成

如果有错误和改进可以在评论区打出,谢谢观看笔记!

笔记的呈现形式为代码的方式,一起回忆回忆第一节课的知识点吧!

#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;
	/*
	       !!!!!!!!重点!!!重点!!!!!!!!! 
	类的封装和隐藏:::为了防止函数重名之类的情况出现
	使用类的话,!你没使用的调用的函数不会与外面的冲突
	!但你所调用的  !封装在类里面的函数可以调用它!!
	请看文件开头 
	*/
	/**************************************/
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值