博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年9月25日

摘要: 1. 带参宏举例:#define MAX(a, b) ((a) > (b) ? (a) : (b))2. 注意,#是字符串化的意思,把跟在后面的参数转换成一个字符串:#define FUN(a) "a"FUN(345)将被替换成"a",因为""双引号中的字符不被当做形参。3. 带参宏定义中#的用法:#define STR(str) #str这里的#用于把宏定义中的参数两端加上字符串的"",举例:STR(my#name)将被替换成:"my#name"4. 带参宏定义中##的用法:#defin 阅读全文

posted @ 2012-09-25 22:02 神の大司命 阅读(1209) 评论(0) 推荐(0)

摘要: 1. 如下例程: 1 class A 2 { 3 public: 4 virtual void fun() = 0; // 纯虚函数 5 protected: 6 private: 7 }; 8 9 /* 注意:即使有默认实现,类A仍然是抽象类,不能被实例化 */10 void A::fun() // 纯虚函数的默认实现11 {12 std::cout << "hello A::fun()" << std::endl;13 }14 15 class B : public A16 {17 public:18 virtual void fun();19 阅读全文

posted @ 2012-09-25 20:00 神の大司命 阅读(952) 评论(0) 推荐(0)

摘要: 1. 如果声明普通成员函数,但不定义,不会有错误,如下例: 1 class A 2 { 3 public: 4 void fun(); 5 protected: 6 private: 7 }; 8 9 int main()10 {11 A a;12 13 return 0;14 }2. 如果声明成员函数为虚函数,但不定义,编译出错,提示无法解析符号,如下例: 1 class A 2 { 3 public: 4 virtual void fun(); 5 protected: 6 private: 7 }; 8 9 // error LNK2001: 无法解析... 阅读全文

posted @ 2012-09-25 19:08 神の大司命 阅读(190) 评论(0) 推荐(0)

摘要: 1. 如下程序: 1 int main() 2 { 3 int v[3][4] = { {1, 2, 3, 4}, 4 {5, 6, 7, 8}, 5 {9, 10, 11, 12} }; 6 int z[4] = {21, 22, 32, 24}; 7 8 int a[4] = v[1]; // error: error C2075: 'a' : array initialization needs curly braces 9 10 int (* b)[4] = v[1];... 阅读全文

posted @ 2012-09-25 18:36 神の大司命 阅读(454) 评论(0) 推荐(0)

摘要: 1. 实例程序: 1 class A 2 { 3 public: 4 virtual void fun(); 5 protected: 6 private: 7 }; 8 9 void A::fun()10 {11 }12 13 class B14 {15 public:16 virtual void fun();17 protected:18 private:19 };20 21 void B::fun()22 {23 }24 25 class C : public A, public B26 {27 public:28 virtual void fun();29 ... 阅读全文

posted @ 2012-09-25 16:08 神の大司命 阅读(237) 评论(0) 推荐(0)

摘要: 1. 示例程序1: 1 class A; 2 3 void fun(A & rA) // ok: 引用不需要完整定义 4 { 5 } 6 7 int main() 8 { 9 A * pA; // ok: 指针不需要完整定义10 *pA; // error: error C2027: use of undefined type 'A'11 12 return 0;13 }2. 示例程序2: 1 class A; 2 3 void f(A a); // ok 4 5 void g(A a) // error: error C2027: 使用了未定义类型“A” 6 ... 阅读全文

posted @ 2012-09-25 15:21 神の大司命 阅读(1115) 评论(0) 推荐(0)

摘要: 1. 示例程序1: 1 class A 2 { 3 public: 4 virtual void f(); 5 virtual void g(); 6 int num; 7 protected: 8 private: 9 };10 11 void A::f()12 {13 std::cout << "xsj " << std::endl;14 }15 16 void A::g()17 {18 num = 9;19 std::cout << num << " hello" << std::endl 阅读全文

posted @ 2012-09-25 12:51 神の大司命 阅读(266) 评论(0) 推荐(0)