C++——类和对象(一) – 作者:Johnson666

1.改错题:修改以下程序,并给出正确代码及运行结果

(1)给成员变量赋值,并输出。
image.png

#include<iostream>
using namespace std;
class Table
{
public:
	int row;
	int col;
	void show()
	{
		cout<<"row:"<<row<<endl;
		cout<<"col:"<<col<<endl;
	
	}
};
int main()
{
Table t1;
t1.row=10;
t1.col=10;
t1.show();
return 0;
}

image.png(2)给成员变量赋值,并输出。
image.png

#include<iostream>
using namespace std;
class SDate
{
private:
int year;
int month;
int day;
public:
void setDate(int y,int m,int d)
{
year=y;
month=m;
day=d;
}
void outShow();
};
void SDate::outShow()
{
cout<<"year:"<<year<<endl;
cout<<"month:"<<month<<endl;
cout<<"day:"<<day<<endl;
}
int main()
{
SDate s1;
s1.setDate(2021,4,7);
s1.outShow();
return 0;
}

image.png(3)使用对象指针访问对象的成员函数。
image.png

#include<iostream>
#include<string>
using namespace std;
class Book
{
private:
string name;
float price;
public:
	void setName(string n)
	{
	name=n;
	}
	void setPrice(float p)
	{
	price=p;
	}
	void display()
	{
	cout<<"name:"<<name<<endl;
	cout<<"price:"<<price<<endl;
	}
};
int main()
{
Book b1,*b2;
b2=&b1;
b2->setName("C++程序设计");
b2->setPrice(59.5);
b2->display();
return 0;
}

image.png

2.请在VC++6.0中创建并运行程序,给出创建过程及运行结果

(1)创建Worker类多文件项目程序,理解类的封装与信息隐蔽,体会类声明与成员函数分离的好处。
image.pngimage.png
image.pngimage.png
image.pngimage.png
image.pngimage.png

3.请在VC++6.0中编写以下C++程序,并给出代码及运行结果

(1)定义球类Globe,成员变量有半径,成员函数有对半径赋值和求体积。要求成员函数在类内定义。请设计类,并使用类。(变量初始化不使用构造函数)
源代码:

#include<iostream>
using namespace std;
class Globe
{
public:
int raddi;
float capacity;
void calculate()
{
capacity=(4*3.14*raddi*raddi*raddi)/3;
}
void print()
{
cout<<"capacity:"<<capacity<<endl;
}
};
int main()
{
	Globe g1;
	g1.raddi=5;
	g1.calculate();
	g1.print();
return 0;
}

运行结果截图:
image.png

(2)定义学生类Student,成员变量有学号,姓名,成绩(语文,数学,英文),成员函数有对成员变量赋值和求成绩的平均值,要求成员变量为私有成员,成员函数在类外定义。设计类,并使用类。(变量初始化不使用构造函数)
源代码:

#include<iostream>
#include<string>
using namespace std;
class Student
{
private:
	int number;
	string name;
	int chinese;
	int maths;
	int english;
	float av;
public:
	void member(int n,string na,int c,int m,int e);
	void average()
	{
		av=(chinese+maths+english)/3;
	}
	 void print()
	 {

		 cout<<"学号是:"<<number<<endl;
		 cout<<"姓名是:"<<name<<endl;
		 cout<<"语文为:"<<chinese<<endl;
		 cout<<"数学为:"<<maths<<endl;
		 cout<<"英语为:"<<english<<endl;
		 cout<<"平均分为:"<<av<<endl;
	 }
};
void Student::member(int n,string na,int c,int m,int e)
	{
    number=n;
	name=na;
	chinese=c;
	maths=m;
	english=e;
	}	
int main()
{
Student s;
s.member(6,"小郑",89,91,89);
s.average();
s.print();
return 0;
}

运行结果截图:
image.png

来源:freebuf.com 2021-04-22 16:06:08 by: Johnson666

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论