本文介绍了程序设计的基本概念,包括数据结构与算法的关系、类与对象的概念、成员变量与成员函数的访问方式,以及类型处理等内容。

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

1、程序=数据结构+算法;

class retangle //一个类
{
public:
	int w, h;
	void init(int w_, int h_)//初始化
	{
		w = w_; h= h_;
	}
	int area()//面积
	{
		return w*h;
	}
	int perimeter()//周长
	{
		return 2 * (w + h);
	}
};//必须有分号
int main()
{
	int w, h;
	retangle r;//r是一个对象
	cin >> w >> h;
	r.init(w, h);
	cout << r.area() << endl << r.perimeter();
	return 0;
}//类定义的变量,,,类的实例,,,对象
每个对象各有自己的存储空间,对象的大小=所有成员变量大小之和。

2、访问类的成员变量和成员函数

#include <iostream>
#include "Sales_item.h"
int main()
{
	Sales_item item1,item2;
	std::cin >> item1>>item2;
	if (item1.isbn() == item2.isbn())
	{
		std::cout << item1 + item2 << std::endl;
		return 0;
	}
	else
	{ 
		std::cerr << "Data must refer to same ISBN" << std::endl;
	return -1;
	}
}
item1.isbn()==item2.isbn() 调用名为isbn的成员函数。


2.1 对象名.成员名

reatangle r1, r2;
r1.w = 5;
r2.Init(3, 4);

2.2指针->成员名

rectangle r1, r2;
rectangle *p1 = &r1;//定义指针
rectangle *p2 = &r2;
p1->w = 5;
p2->init(3,4)//init作用在p2指向的对象上

2.3引用名.成员名

rectangle r1;
retangle &rr = r2;//引用作为别名
rr.w = 5;
rr.init(3, 4);

3、处理类型

3.1类型别名

它是某款类型的别名,两种方法定义类型别名

typedef double wages  //wages是double 的别名
typedef wages base, *p  //base是double的同义词,p是double*的同义词

using SI=Sale_itm  //SI是sale_itm的同义词

如果类型别名指代得是复合类型或常量,不能把类型别名替换成它原本的样子,这样是错误的!!
typedef char *pstring;//pstring是char*的别名
const pstring cstr = 0; //cstr是指向char的常量指针
const pstring *ps; //ps 是一个指针,他的对象是指向char的常量指针
//const pstring 是指向char 的常量指针,而不是指向常量字符的指针
const char *cstr=0//这是错误的!!! 意味着指向const char 的指针

3.2 auto类型说明符
让编译器替我们去分析表达式所属的类型
auto item = val1 + val2;
auto sz = 0, pi = 3.14;//错误,sz 和 pi的类型不一样





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值