C++练习1

本文通过具体的C++代码示例,展示了面向对象编程的基本概念,包括类的定义、对象的创建、静态成员变量和函数的应用,以及如何实现简单的数据封装和继承。通过学生信息管理系统的小例子,读者可以更好地理解C++面向对象编程的实际应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <iostream>
#include
<cstring>

using namespace std;

class NameString{
private:
char *str;
public:
NameString(
char *s="...")
{
str
= new char[strlen(s)+1];
strcpy(str,s);
// cout<<"构造 NameString OK!"<<endl;
}

void print()
{
cout
<<str;
}

~NameString()
{
// cout<<"析构 NameString OK!"<<endl;
delete str;
}
};

class Student{
private:
int StudentNO;
NameString Name;
int Scores;
static int total_Scores;
static int total_Num;
public:
Student(
int a,char *b,int c):StudentNO(a),Name(b),Scores(c)
{
total_Scores
+= c;
total_Num
++;
// cout<<"构造 Student OK!"<<endl;
}

void print()
{
cout
<<StudentNO<<'\t';
Name.print();
cout
<<'\t'<<Scores<<endl;
}

void average()
{
cout
<<"Average:"<<total_Scores/total_Num<<endl;
}

static void total_disp()
{
cout
<<"Total_Scores:"<<total_Scores<<endl;
cout
<<"Total_Num:"<<total_Num<<endl;
}

};

int Student::total_Scores = 0;
int Student::total_Num = 0;

int main()
{
Student st1(
1,"wen",94);
Student st2(
2,"hao",100);
Student st3(
3,"lin",100);

cout
<<"学号"<<'\t'<<"姓名"<<'\t'<<"成绩"<<endl;
st1.print();
st2.print();
st3.print();

Student::total_disp();

st1.average();

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值