A:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
class One {
public:
void fun1 ( One a);
void fun2 (One * b );
class Two {
};
private:
One * pone;
One test;
};
错误:error C2460: “One::test”: 使用正在定义的“One”
结论:删去One test;我们发现编译通过,那么问题就在One test身上,test这里是个对象,而在One里的test尚未分配内存就使用One 来定义对象,故失败。
B::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
class two{
public:
void fun1(one* pone);
};
class one{
public:
one();
private:
};
错误:error C2061: 语法错误 : 标识符“one”
结论:在class two 前面加上class one;我们发现编译通过了,C++是按顺序编译类的,故在two编译的时候编译器必须存在one的声明~
C::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#include<iostream>
using namespace std;
void main()
{
//指针数组只能保存指针
int *a = new int[1];
int *b = new int[1];
int *c = new int[1];
int* e[3] = {a, b, c};
//二维数组指针
int array2[2][2];// = {{1,2},{3,4}};
int (*p)[2];
p = array2;
//引用的用法
int k = 2;
int &q = k;
q = 3;//修改q就等于修改k
cout<<3;
//数组引用
int test[5];
int (&l)[5] = test;
l[1] = 4;
cout<<test[1];
}
结论:数组这一块蛮弱的 哎 整个C++都是哥的薄弱环节.能不能赶上雄大,看天意吧~
D::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
void fun(int a[8]){
cout<<a[10];
};
//void fun (int (&a)[]){} ********************
void main()
{
//传递数组
int p[19] = {1,2,3,4,2,2,2,2,2,2,2,2,2,2,2};
fun(p);
//int (&a)[]//这样是失败的 *********************
int (&k)[19] = p; &&&&&&&&&&&&&&&&&&&&&&
fun(k);
}
错误:“abstract declarator”: 对零大小数组的引用非法
改正:int (&k)[19]
收获:数组长度不是参数类型的一部分。函数不知道传递给它的数组的实际长度,编译器也不知道,当编译器对实参类型进行参数类型检查时,并不检查数组的长度。
#include <iostream>//下列程序段有错吗?
using namespace std;
class A{ public: A(){cout<<"A"<<endl;};
};
class B {
public:
A a;
B() : a(){cout<<"B"<<endl;}
};
int main(){
B b(); //换成语句B b();呢? 函数?对象?
return 0;
}//
构造函数参数列表可以调用构造函数
尽量使用成员初始化表,初始化const成员只能使用成员初始化表。
class b : x(4),y(7)。。。。{ ….};
分享到:
相关推荐
《Think in C++》是一本深受C++初学者欢迎的编程教材,由知名程序员和教育家Bruce Eckel撰写。这本书以其清晰的论述和丰富的实例,为读者提供了深入理解C++语言的基础。C++是一种强大的、面向对象的编程语言,它在...
《Think in C++》是C++编程领域里一本广受欢迎的教材,由知名程序员和教育家Bruce Eckel撰写。这本书以其深入浅出的讲解方式,系统地介绍了C++语言,尤其是其核心特性——面向对象编程(OOP)的思想。下面我们将详细...
《Think in C++》是C++编程领域的一本经典著作,由Bruce Eckel撰写,以其深入浅出的讲解和丰富的实例著称。这本书全面覆盖了C++语言的基础和高级特性,旨在帮助读者不仅掌握语法,更能理解C++的设计哲学和编程思想。...
《Think in C++》是C++编程领域的一部经典教程,由知名程序员Bruce Eckel编写。这本书分为两卷,第一卷主要介绍C++的基础知识,包括语法、控制结构、类和对象等;第二卷则深入探讨了C++的高级特性,如模板、异常处理...
《Think in C++》是一本深受程序员喜爱的C++学习书籍,由世界级编程大师Bruce Eckel撰写。这本书以其深入浅出、易于理解的讲解方式,为读者提供了全面掌握C++语言的基础和进阶知识。高清的文字版PDF使得阅读更加舒适...
《Think in C++》是C++编程领域里一本广受欢迎的教材,由知名程序员和教育家Bruce Eckel编写。这本书以其深入浅出的讲解方式,帮助无数初学者和有经验的程序员更好地理解和运用C++语言。现在提供的资源是英文版,...
《Think in C++》是一本深受C++程序员喜爱的经典教程,由知名编程专家Bruce Eckel编写,旨在帮助读者深入理解C++语言的核心概念和机制。这本书的中文版为国内学习者提供了极大的便利,使得理解复杂的C++理论变得更加...
《Think in C++》是一本深受C++程序员喜爱的经典教程,由知名编程专家Bruce Eckel编写,现已被翻译成多种语言,包括中文版。这本书旨在帮助读者深入理解C++这门强大的面向对象编程语言,其内容丰富,覆盖了C++的基础...
《Think in C++》是C++编程领域的一本经典著作,由Bruce Eckel撰写,中文版为国内读者提供了深入理解C++语言的机会。这本书详细介绍了C++的基础知识、高级特性和设计模式,旨在帮助读者建立扎实的C++编程思维。 在...
《Think in C++》是C++编程领域的一本经典著作,由Bruce Eckel撰写,旨在帮助程序员深入理解和掌握C++语言。这本书以清晰的逻辑和丰富的实例,详细讲解了C++的基础概念、语法以及高级特性。以下是根据标题、描述和...
《C++编程思想》(Think in C++)是Bruce Eckel的经典之作,第二版更是深受C++程序员喜爱的参考资料。这本书深入浅出地介绍了C++语言的核心概念和编程技巧,旨在帮助读者理解C++的设计哲学,并掌握其强大的面向对象...
### C++编程思想知识点解析 #### 一、面向对象编程基础 **1.1 对象的概念** - **定义**: 在面向对象编程中,“对象”是由数据(特性)和功能(行为)组成的实体。 - **历史**: 第一个面向对象的语言Simula-67,...
《Think in C++编程详解》是一本旨在帮助读者从初级水平逐步提升至高阶的C++编程指南。这本书深入浅出地介绍了C++语言的核心概念和技术,结合作者多年的编程实践经验,为学习者提供了丰富的知识与实用技巧。 首先,...
《Think in C++》与《Effective C++》是C++编程领域的两本经典著作,对于想要深入理解并熟练掌握C++语言的程序员来说,这两本书是不可或缺的学习资源。 《Think in C++》由Bruce Eckel编写,是一本全面介绍C++语言...
《C++编程思想》是Bjarne Stroustrup编著的一本C++编程经典书籍,中文版为国内程序员提供了深入理解C++语言的宝贵资源。这本书不仅涵盖了C++的基础知识,还深入探讨了面向对象编程的哲学和设计原则,旨在帮助读者从...
根据提供的信息,《Think in C++》是一本获奖的书籍,荣获了1996年《Software Development Magazine》年度最佳图书的Jolt奖项。本书由Bruce Eckel撰写,被多位业界专家推荐为学习C++及面向对象编程的重要参考资料。...