C++程序设计—类与对象

目录

1、类和对象的概念

2、面向对象程序设计的特点

3、类和对象的区别

4、成员运行算符

(1)(.)点运算符

(2)(->)箭头运算符

5、类的声明形式

(1)public

(2) private

(3) protected

 6、成员函数调用中的目的对象


可以说这里才是C++的真正开始!

1、类和对象的概念

类是一种自定义数据类型,是对一类事物共同属性和行为的抽象。

对象是该类的某一特定实例,是具体的,占内存空间的。

可以把类当成是一种自定义数据类型,对象则是该数据类型定义的一个变量。

2、面向对象程序设计的特点

抽象;封装;继承;多态

3、类和对象的区别

类是对象的抽象, 不占用内存;而对象是类的具体实例, 占用存储空间。

4、成员运行算符

.(点)和 ->(箭头) 用于引用类、结构和共用体的成员

点运算符应用于实际的对象;箭头运算符与一个指向对象的指针一起使用。

假设有下面的结构:

struct Employee {
  char first_name[16];
  int  age;
} emp;

(1)(.)点运算符

strcpy(emp.first_name, "zara");

表示把值 "zara" 赋给对象 emp 的 first_name 成员:


(2)(->)箭头运算符

如果 p_emp 是一个指针,指向类型为 Employee 的对象,要把值 "zara" 赋给对象 emp 的 first_name 成员,则需要

strcpy(p_emp->first_name, "zara");

-> 称为箭头运算符,它是由一个减号加上一个大于号组成。

简而言之:访问结构的成员时使用点运算符,而通过指针访问结构的成员时,则使用箭头运算符。

5、类的声明形式

class 类名称
{
public :
    共有成员           //可以是数据成员,也可以是成员函数
private:
    私有成员          //可以是数据成员,也可以是成员函数
protected:
    保护性成员        //可以是数据成员,也可以是成员函数

};                   //分号不能省略

(1)public

公有类型成员,是类与外部的接口,任何类外定义的对象或函数都可以访问公有类型数据和函数。

#include "iostream"
using namespace std;
class complex {
public:
	float a, b;
	void add(complex x)
	{
		a+=x.a; b+=x.b;
		cout << a << "+" << b << "i\n";
	}
	void input(float x, float y)
	{
		a = x; b = y;
		cout << a << "+" << b << "i\n";
	}
};
int main() {
	complex first, second;
	cout << "input two complex:\n";
	first.input(1, 2);
	second.input(3, 4);
	first.add(second);
	cout << first.a << "," << first.b << "\n";
	return 0;
}

C++程序设计—类与对象_第1张图片

(2) private

 私有类型成员,只允许本类中的函数访问,来自类外部的任何访问都是非法的。

如下图,我们将成员类型换成private,就不能在外部进行访问了

#include "iostream"
using namespace std;
class complex {
private:
	float a, b;
	void add(complex x)
	{
		a+=x.a; b+=x.b;
		cout << a << "+" << b << "i\n";
	}
	void input(float x, float y)
	{
		a = x; b = y;
		cout << a << "+" << b << "i\n";
	}
};
int main() {
	complex first, second;
	cout << "input two complex:\n";
	first.input(1, 2);
	second.input(3, 4);
	first.add(second);
	cout << first.a << "," << first.b << "\n";
	return 0;
}

C++程序设计—类与对象_第2张图片

(3) protected

受保护类型成员,可以被派生类对象访问,不能被用户代码(类外)访问。

#include "iostream"
using namespace std;
class complex {
protected:
	float a, b;
public:
	void add(complex x)
	{
		a+=x.a; b+=x.b;
		cout << a << "+" << b << "i\n";
	}
	void input(float x, float y)
	{
		a = x; b = y;
		cout << a << "+" << b << "i\n";
	}
};
int main() {
	complex first, second;
	cout << "input two complex:\n";
	first.input(1, 2);
	second.input(3, 4);
	first.add(second);
	cout << first.a << "," << first.b << "\n";
	return 0;
}

C++程序设计—类与对象_第3张图片

 6、成员函数调用中的目的对象

调用一个成员函数与调用普通函数的差异在于需要使用“.”或者“->”操作符指出调用所针对的对象。

eg:

Time EndTime; 
EndTime.showTime(); 

Time *pt1=&EndTime;
pt1->setTime(12,23,26);
void main(
{
Time EndTime; //定义对象
Time *pt1=&EndTime; //声明指向该对象的指针
pt1->setTime(12,23,26); //通过指针设置成员函数
cout<< " the time is:\n";
pt1->showTime(); //通过指针调用成员函数
EndTime.showTime(); //通过对象调用成员函数
} 

后面会继续更新,必过!!!

你可能感兴趣的:(C++,c++,程序设计,学习,大学生交流基地,开发语言)