【C++】C++的输入输出、循环、条件、字符串、数组、类、继承的使用实例

本文介绍C++的基本使用,用一个程序说明的基本运用,当然C++中的指针与运算符的重载这些特色东西还没有涉及,只是把编程中最基本的东西讲述一次,

与《【Python】Windows版本的Python开发环境的配置,Helloworld,Python中文问题,输入输出、条件、循环、数组、类》(点击打开链接)是姊妹篇,据说这堆东西出书的话能写很多很多页,上课的话能上大半学期,真是醉了。

以下程序代码:

#include <iostream>
#include <string>//要使用C++的字符串,必须要引入string

using namespace std;

class Util_impl{//util的抽象类,就是一个仅有方法声明的类
protected:
	void sayHello();
	int max();
};//区别于java,声明完一个class需要用分号

class Util:public Util_impl{//新定义Util的类,继承Util_impl这个类
private:
	string Hello;
public:
	void sayHello(string name){//输出方法
		this->setHello("你好,");
		cout<<this->getHello()<<name<<endl;
	}
	int max(int n, int *arr){//求最大值的方法,说明如何在函数/方法中传递数组
		int max=arr[0];
		for(int i=0;i<n;i++){
			if(max<arr[i]){
				max=arr[i];
			}
		}
		return max;
	}
	//hello的getter与setter
	string getHello(){
		return this->Hello;
	}
	void setHello(string Hello){
		this->Hello=Hello;
	}
};

int main(){
	Util util;//声明一个类,不用像java一样后接new Util()
	string name;
	cout<<"请问你的名字是?"<<endl;
	cin>>name;
	util.sayHello(name);//直接调用util中的sayHello方法即可
	int arr[]={1,3,40,22,20,10};//定义一个数组
	int arr_length=sizeof(arr)/sizeof(arr[0]);//求出这个数组的长度,C++中没有arr.length这样的用法
	int arr_max=util.max(arr_length,arr);
	cout<<"arr的最大值为:"<<arr_max<<endl;
	return 0;
}

运行结果如下:

上述程序,首先一开始定义了一个util类,这个util继承于一个充斥着方法声明的Util_impl也就是所谓的“抽象类”,Util_impl中的方法声明定义为protected,仅供其子孙使用,无法直接调用。

之后util类实现了这些方法声明,一个输出、一个求最大值。util类中故意像java一样搞一个静态成员string Hello,并实现其getter与setter,说明this关键字的使用。

其次,定义一个数组arr[],需要自己通过int arr_length=sizeof(arr)/sizeof(arr[0]);的方式求出其数组长度,C/C++不像其它语言那样存在.length这么爽,毕竟比较底层与古老。

然后,如果在C++中函数/方法以数组为参数,需要同时传递这个数组长度,与数组名,实质就是这个数组的指针,还是那句,毕竟C/C++底层、古老。这样,函数/方法,才能最终操作这个数组。

最后返回arr的返回值输出,这里不要以为C/C++像java一样,可以通过+连接字符串与整形,然后自动触发整形的toString()方法,还是老老实实地使用<<来连接字符串与整形吧!

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-27 05:30:25

【C++】C++的输入输出、循环、条件、字符串、数组、类、继承的使用实例的相关文章

StringUtils 字符串工具类

package com.thinkgem.jeesite.common.utils; import java.io.File; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.List; import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; i

【Python】Windows版本的Python开发环境的配置,Helloworld,Python中文问题,输入输出、条件、循环、数组、类

Python这东西似乎很有用的样子,但不知道为何一直火不起来, 有可能是因为这东西太难读~读作什么,派神.英语不好的人,第一眼看上去就懵了,还经常拼错,呵呵! 不过怎么说都好关键是要会. 一.Python开发环境的配置 1.首先打开Python的官网https://www.python.org/downloads/下载(点击打开链接)Python的开发环境.这东西是基础的基础,相当于JDK在Java的地位.值得注意的是,Python这小子又不老实了,又开始把自身的语法改到面目全非,在强推Pyth

Python之循环条件、变量、字符串格式化

一.认识python python语言的优缺点,自行百度,这里不概述,简单说下,python是一门面向对象,解释型计算机语言.那么问题来了,解释型和编译型语言有什么区别? 1.解释型和编译型语言区别 解释型语言:程序运行的时候才编译,代码执行一行编译一行.将源代码编译成.pyc的字节码,即二进制文件.如java,python,php等 就好比吃火锅,解释型就是一边下菜一边吃,这个过程需要等菜熟 ,速度慢 编译型语言:运行代码之前,必须经过编译,将所有代码都编译成二进制文件.一次编译,多次运行,速

C语言数组:C语言数组定义、二维数组、动态数组、字符串数组

1.C语言数组的概念 在<更加优美的C语言输出>一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下: #include <stdio.h> #include <stdlib.h> int main() { int a1=20, a2=345, a3=700, a4=22; int b1=56720, b2=9999, b3=20098, b4=2; int c1=233, c2=205, c3=1, c4=6666; int d1=34, d2=0, d3

shell文本过滤编程(六):awk之循环判断及数组

[版权声明:转载请保留出处:blog.csdn.net/gentleliu.Mail:shallnew at 163 dot com] 与上一节printf一样,awk的循环判断和C语言的循环判断语法极其类似. 1. While循环 #!/bin/sh awk ' BEGIN { ORS="" } { i=0 while (i < NF) { printf("* ") i++ } print "\n" } ' group_file1 首先,

循环语句和数组

1. 循环语句 在javascript中,循环语句有三种,while.do..while.for循环. 1.1. while循环 基本语法: //当循环条件为true时,执行循环体, //当循环条件为false时,结束循环. while(循环条件){ //循环体 } 代码示例: //计算1-100之间所有数的和 //初始化变量 var i = 1; var sum = 0; while(i <= 100){//判断条件 sum += i;//循环体 i++;//自增 } console.log(

字符串数组中两个字符的最短距离

[leetcode] https://leetcode.com/problems/shortest-word-distance/ For example,Assume that words = ["practice", "makes", "perfect", "coding", "makes"]. Given word1 = "coding", word2 = "practic

iOS开发入门 ? C语言(字符串、字符串数组、命令行参数)

字符串 1. 概念 用双引号引起来的就是字符串 "a string" //C语言编译器会将两个并列的字符串自动拼接成一个字符串 "a string""another a string" // \是换行连接的标记(一行不够写) "a looooooooooong \ string" 常见ASCII编码: 'A' == 65    'a' == 97    '0' == 48    '\0' == 0 int a[10]; //表

Substring with Concatenation of All Words, 返回字符串中包含字符串数组所有字符串元素连接而成的字串的位置

问题描述:给定一个字符数组words,和字符串s,返回字符数组中所有字符元素组成的子串在字符串中的位置,要求所有的字符串数组里的元素只在字符串s中存在一次. 算法分析:这道题和strStr很类似.只不过strStr是子串,而这个题是字符串数组里的元素组成的子串,字符串数组里的元素是无序的,但是必须全部包含.所有考虑使用map集合.关键点在于几个临界值,字符串元素在s中重复了怎么做,找到一个符合的子串后怎么做,有字符串元素不匹配怎做. import java.util.ArrayList; imp