浙江大学远程教育面向对象程序设计作业解析

版权申诉
0 下载量 60 浏览量 更新于2024-07-03 收藏 1.2MB DOC 举报
"浙江大学远程教育2015面向对象程序设计离线作业" 这份作业涵盖了面向对象程序设计的基础知识,主要涉及C++编程语言。以下是其中的一些关键知识点: 1. **注释**: - C++支持两种类型的注释:单行注释(`//...`)和多行注释(`/*...*/`)。作业中提到,单行注释内可以嵌套多行注释,这种写法是合法的。 2. **程序编译错误**: - 在C++中,函数必须在使用前被声明。在给定的程序中,`sum`函数在调用前未声明,导致编译错误。正确的做法是在使用`sum`之前添加函数声明,如`sum(int a, int b);`。 3. **函数原型**: - 函数原型中,参数的名字是可以忽略的。因此,尽管两个函数原型中参数名称不同,但它们是等价的,因为实际的参数类型决定了函数的签名。 4. **动态内存分配**: - `new`运算符用于动态内存分配。选项A、B和C都是有效的内存分配方式,而D是错误的,因为它尝试对数组初始化时指定每个元素的值,这是不允许的。 5. **常量指针和指针常量**: - `const char*const name="chen"`表示`name`是一个指向常量字符数组的常量指针,意味着不能通过`name`修改所指向的字符串,但可以改变`name`指向的地址。因此,选项A和B会改变字符串内容,是非法的,C尝试重新分配内存,也是非法的,而D只是输出字符串的一部分,是合法的。 6. **指针常量**: - `char*const name="chen"`表示`name`是一个指向字符数组的指针常量,意味着`name`的地址不能改变,但可以修改所指向的字符。因此,选项A是合法的,可以改变字符串的第三个字符。而B和C尝试改变`name`的指向,是非法的。 这些知识点是C++初学者常见的概念,包括注释规则、函数声明与调用的顺序、动态内存管理以及指针与常量的交互。理解和掌握这些基础知识对于进行面向对象程序设计至关重要。在编写C++代码时,遵循良好的编程习惯,如适当注释、避免编译错误、正确处理内存分配以及理解指针与常量的关系,将有助于编写出更可靠、可维护的代码。