编程技术是改变世界的力量。
本站
当前位置:网站首页 > 后端语言 > 正文

从c到c++入门(c+ 从入门到入土)

gowuye 2024-04-29 16:09 3 浏览 0 评论

从c到c++

1.引用

(数据类型)&变量1=变量2

例如:int &a =b;

#include <iostream>
using namespace std;
int main(){
int a=4,b=5;
int &r1=a;
int &r2=r1;
r2=10;
cout<<a<<endl;//输出为10 
 r1=b;
 cout<<a<<endl;//输出为5 
	return 0;
}

2.常引用(在引用前加const关键字)

int n;
const int & r = n;

2.const关键字

1.定义常量

const int PI 3.14

2.常量指针

不能通过常量指针修改其指向的内容

3.动态内存

1.new分配内存 :new 的返回值是地址

int *p
p = new int;
*p = 5;

2.数组内存分配

 int *pn;
 int i=5;
 pn =new int[i*20];
pn[0]=20;
pn[100]=30;/编译没问题数组越界

2.delete释放内存

int *p;
*p = 5;
delete p;
delete p;//导致异常,不能重复释放

3.释放数组内存

int *p = new int[20];
p[0]=1;
delete []p;//?

4.函数

1.内联函数(inline 关键字)

2.函数重载

int MAX(int a,int b);
int MAX(double a,double b);
int MAX(int a,int b,int c);

3.函数缺省参数(程序的可扩充性)

int FUNC(int x,int y=2,int z=3);
//注:只能最右边连续若干个参数缺省

5.类和对象

1.结构程序化设计(过于繁琐) 程序=数据结构+算法

2.面向对象程序设计 程序=类+类+类+... ...

//写一个程序,输入矩形的长和宽,输出矩形的面积和周长
#include <iostream> //头文件
using namespace std;
class CRectangle{ //类
public:
	int w,h;
	int area(){
		return w*h;
	}
	int Perimeter(){
		return 2*(w+h);
	}
	void init(int w_,int h_){
		w = w_;h=h_;
	}
}; 
int main(){ //主函数
	int w,h;
	CRectangle r; //r是一个对象
	cin>>w>>h;
	r.init(w,h); 
	cout<<r.area()<<endl<<r.Perimeter();
	return 0;
}

3.类的其他用法

用法2.指针->成员名
 CRectangle r1,r2;
 CRectangle p1=&r1;
 CRectangle* p2=&r2;
p1->w=5;
p2->nit(5,4);//nit作用在p2指向的对象上
用法3:引用名.成员名
 REctangle r2;
 CRectangle rr=r2;
 rr.w=5;
 rr.Init(5, 4);
//xx的值变了,x2的值也变

6.定义string对象

string str1;//定义string对象

string city = "beijing";//定义string对象并对其初始化

#include <iostream>
using namespace std;
int main(){
string str1;
string as[]={"beijing","shanghai","chengdu"};//string数组的每一项存的是一个字符串 
cout<<as[0]<<endl;
cout<<as[1]<<endl;
cout<<as[2]<<endl;
 
	return 0;
}

相关推荐

享受优质直播:微软宣布Azure媒体服务预览版
享受优质直播:微软宣布Azure媒体服务预览版

IT之家讯4月14日消息,微软最近在Azure产品上不断有新动作,今天微软宣布了Azure媒体服务预览版,该版本将为内容所有者和提供商加入更多新功能。最近几年...

2024-05-17 12:31 gowuye

Ethscriptions的创新性

根据以太坊的链上记录,Ethscriptions协议是6月14日上线的。而协议上线后大概在6月16日,协议的创始人才正式在推特上公开了这个协议。协议公开后立刻就在海外以太坊社区引发了很大的轰动,但与此...

使用Lily HBase NRT Indexer为HBase构建二级索引
使用Lily HBase NRT Indexer为HBase构建二级索引

使用CDH提供的ClouderaSearch创建二级索引:近实时索引常使用ApacheFlume或ApacheKafka来不断的摄取并索引数据。Lily...

2024-05-17 12:31 gowuye

直播|Apache Hudi 0.11.0 新版本新特性解读
直播|Apache Hudi 0.11.0 新版本新特性解读

ApacheHudi社区在2022年4月30日发布了新版本0.11.0,其中包括了一系列新功能和提升优化。详情可参考:ApacheHudi...

2024-05-17 12:30 gowuye

python调用属性一样调用方法property

python通过property达到像调用属性一样来调用方法。存在两种方式:(1)类属性:在类中定义值为property对象的类属性。(2)装饰器:在方法上应用装饰器@property。1.1p...

python变量封装:@property最终写法

变量的封装只有在有逻辑限制的情况下使用。@property#创建property对象,只负责拦截读取操作@方法名.setter#只负责拦截写入操作属性:@property公开实例变量,缺少逻辑验证,私...

JavaScript-怎么从JavaScript对象中删除一个属性?

要从一个对象中删除一个属性,你可以这样做。deletemyObject.regex;//或者deletemyObject['regex'];//或者,varprop...

c#反射,反射程序员的快乐
c#反射,反射程序员的快乐

1.什么是反射?我们先来看一张图片吧。根据树木的轮廓,我们在水中能得到,一棵一模一样的树木。好的,先带大家简单了解下,那么,再程序中是如何体现呢!反射是.NET...

2024-05-17 12:30 gowuye

Spring IOC容器注解(@Bean 、 @Configuration、@PropertySource)

本节介绍了如何在你的Java代码中使用注解来配置Spring容器。它包括以下主题。基本概念:@Bean和@Configuration通过使用AnnotationConfigApplication...

C#编程语言中,类是面向对象编程(OOP)的核心概念之一

在C#编程语言中,类是面向对象编程(OOP)的核心概念之一。类是创建对象的蓝图或模板,它定义了对象的属性和方法。对象是类的实例,是类的具体表现。以下是关于C#中类的基本概念的一些详细解释:类的定义类是...

小猿圈Python教程之全面解析@property的使用
小猿圈Python教程之全面解析@property的使用

人工智能发展到今天,现在很多程序员也都在学习python技术开发,但是真正会的却不是很多,那么对于小白的话该如何学习python呢?下面小猿圈Python讲师先...

2024-05-17 12:30 gowuye

一文讲清Python 中的 @property 装饰器
一文讲清Python 中的 @property 装饰器

1.引言Python以增强功能的装饰器等功能而闻名。@property装饰器非常出色,它简化了类中的属性访问,并有助于Python的可读性和优雅性。2...

2024-05-17 12:29 gowuye

c#.Net.NetCore面试(十四)面向对象

C#是一种面向对象的编程语言,它支持面向对象编程(Object-OrientedProgramming,OOP)的概念。面向对象编程是一种编程范式,它使用“对象”来设计软件,并通过类和接口来定义...

软件特攻队|Qt中的反射机制之Q_PROPERTY
软件特攻队|Qt中的反射机制之Q_PROPERTY

接触过Java的同学肯定知道“反射”这一神器,而所谓的反射,指的是对于任意的一个类,即使在运行状态下,都能知道这个类的所有方法和属性,并可以动态调用这些方法的一...

2024-05-17 12:29 gowuye

C++类和对象到底是什么意思?
C++类和对象到底是什么意思?

C++是一门面向对象的编程语言,理解C++,首先要理解类(Class)和对象(Object)这两个概念。C++中的类(Class)可以看做C语言中结构体(...

2024-05-17 12:29 gowuye

取消回复欢迎 发表评论: