﻿1
00:00:04,470 --> 00:00:08,280
‫Vì vậy, chúng tôi biết rằng chúng tôi cần một số thành phần trên lớp cơ sở của chúng tôi.

2
00:00:08,280 --> 00:00:12,570
‫Chúng tôi biết rằng chúng tôi cần một tấm lưới cơ sở cho phần dưới cùng của xe tăng và tháp pháo.

3
00:00:12,600 --> 00:00:15,270
‫Chúng tôi cũng cần một lưới tháp pháo cho phần trên cùng.

4
00:00:15,300 --> 00:00:19,500
‫Chúng ta cần một viên đạn để xử lý va chạm và chúng ta cần một điểm phóng đạn.

5
00:00:19,500 --> 00:00:21,270
‫Đó sẽ là một thành phần cảnh.

6
00:00:21,300 --> 00:00:26,460
‫Bây giờ, khi chúng ta đã thêm những thứ này vào lớp pod cơ sở, thì bất cứ thứ gì chúng ta tạo dựa trên

7
00:00:26,460 --> 00:00:28,320
‫lớp này sẽ kế thừa những thứ đó.

8
00:00:28,320 --> 00:00:34,920
‫Vì vậy, chúng tôi có thể tạo một chiếc xe tăng dựa trên nền tảng - và sau đó chúng tôi có thể tạo ra một chiếc tháp cũng dựa trên nền

9
00:00:34,920 --> 00:00:35,550
‫tảng -.

10
00:00:35,700 --> 00:00:39,620
‫Và bởi vì chúng dựa trên nhóm cơ sở, chúng kế thừa các thành phần này.

11
00:00:39,630 --> 00:00:46,380
‫Xe tăng có thể có lưới cơ sở riêng, lưới tháp pháo riêng, viên đạn riêng và điểm xuất hiện đạn

12
00:00:46,380 --> 00:00:46,800
‫riêng.

13
00:00:46,800 --> 00:00:52,500
‫Và tương tự như vậy, tháp sẽ nhận được thành phần viên nang lưới tháp pháo cơ sở của riêng nó và điểm xuất hiện đạn

14
00:00:52,500 --> 00:00:53,370
‫cũng như vậy.

15
00:00:53,370 --> 00:00:58,560
‫Và chúng ta sẽ thấy rất sớm cách chúng ta có thể gán các mắt lưới khác nhau cho từng mắt lưới này để chúng trông khác nhau.

16
00:00:58,560 --> 00:01:00,750
‫Vì vậy, chúng tôi biết rằng chúng tôi cần một số thành phần.

17
00:01:00,750 --> 00:01:05,490
‫Bây giờ đã đến lúc thực sự thêm một số thành phần vào lớp cơ sở của chúng ta.

18
00:01:05,910 --> 00:01:11,400
‫Bây giờ, theo mặc định, chúng tôi đã có một phần công khai, một phần được bảo vệ và phần công khai thứ hai

19
00:01:11,400 --> 00:01:12,240
‫ở dưới đây.

20
00:01:12,570 --> 00:01:17,520
‫Có nhiều lý do khác nhau để có nhiều phần công khai và chúng ta sẽ nói về những lý do đó sau.

21
00:01:17,520 --> 00:01:20,880
‫Nhưng đối với các thành phần của chúng ta, chúng ta sẽ tạo một phần riêng tư.

22
00:01:22,070 --> 00:01:28,400
‫Như bạn đã học trước đây, rất tốt nếu các biến thành viên ở chế độ riêng tư, vì vậy chúng chỉ có

23
00:01:28,400 --> 00:01:31,790
‫thể truy cập được từ bên trong lớp sở hữu chúng.

24
00:01:31,790 --> 00:01:33,410
‫Vì vậy, chúng tôi cần một số thành phần.

25
00:01:33,680 --> 00:01:36,190
‫Cái đầu tiên tôi sẽ thêm vào là viên nang.

26
00:01:36,200 --> 00:01:40,760
‫Vì vậy, hãy tạo một biến loại thành phần viên nang của bạn.

27
00:01:42,160 --> 00:01:44,030
‫Bây giờ đây sẽ là một con trỏ.

28
00:01:44,070 --> 00:01:48,880
‫Chúng ta sẽ sử dụng con trỏ cho phần lớn các biến của mình miễn là chúng không phải là kiểu cơ sở

29
00:01:48,880 --> 00:01:50,340
‫như số nguyên hoặc số float.

30
00:01:50,350 --> 00:01:55,600
‫Và như bạn đã biết, đó là bởi vì con trỏ nhẹ, chúng chỉ là địa chỉ và chúng cho phép chúng ta

31
00:01:55,600 --> 00:01:56,860
‫hoạt động hiệu quả hơn.

32
00:01:56,950 --> 00:02:03,400
‫Vì vậy, chúng tôi có con trỏ thành phần viên nang chữ U này và chúng tôi sẽ gọi nó là chữ viết tắt của thành phần viên

33
00:02:03,400 --> 00:02:04,030
‫nang này.

34
00:02:04,030 --> 00:02:11,140
‫Bây giờ, ngay trên thành phần con nhộng, chúng ta sẽ thêm một macro cụ thể cho động cơ không có thật và nó là thuộc tính của bạn được viết

35
00:02:11,470 --> 00:02:14,020
‫hoa tất cả với dấu ngoặc đơn của riêng nó.

36
00:02:14,020 --> 00:02:20,590
‫Thuộc tính của bạn là một cách để làm cho động cơ không thực nhận biết được biến này để nó có thể tham gia vào các động cơ không

37
00:02:20,590 --> 00:02:20,980
‫thực.

38
00:02:20,980 --> 00:02:22,240
‫Hệ thống Phản ánh.

39
00:02:22,690 --> 00:02:28,750
‫Hệ thống phản chiếu cho phép chúng ta làm những việc như đưa biến này vào bản thiết kế và tham gia vào việc

40
00:02:28,750 --> 00:02:31,060
‫thu gom rác và những thứ tương tự.

41
00:02:31,060 --> 00:02:36,400
‫Vì vậy, việc thêm thuộc tính you sẽ là thứ sẽ thêm vào các thành phần của chúng ta khi chúng ta tạo chúng.

42
00:02:36,400 --> 00:02:41,980
‫Vì vậy, chúng tôi có thành phần viên nang này và bởi vì chúng tôi đang sử dụng loại thành phần viên nang YOU,

43
00:02:41,980 --> 00:02:44,860
‫chúng tôi cần cho trình biên dịch biết về loại này.

44
00:02:44,860 --> 00:02:48,250
‫Theo mặc định, nó không biết thành phần viên nang là gì.

45
00:02:48,250 --> 00:02:54,640
‫Bây giờ thông thường để cho trình biên dịch biết thành phần viên nén là gì, chúng tôi sẽ bao gồm một tệp tiêu đề ở trên cùng với

46
00:02:54,640 --> 00:02:59,680
‫các chỉ thị bao gồm của chúng tôi nếu chúng tôi truy cập tài liệu công cụ không có thật và tìm

47
00:02:59,710 --> 00:03:05,200
‫kiếm thành phần viên nén, chúng tôi có thể thấy ngay tại đây nơi nó cho biết bao gồm tệp tiêu đề mà chúng

48
00:03:05,200 --> 00:03:08,950
‫tôi cần đưa vào để thông báo cho trình biên dịch về thành phần viên nén.

49
00:03:08,950 --> 00:03:13,000
‫Bây giờ chúng tôi có thể bao gồm điều này ngay tại đây ở trên cùng và sau đó là U của chúng tôi.

50
00:03:13,000 --> 00:03:18,160
‫Loại thành phần Capsule sẽ được trình biên dịch nhận dạng và mọi thứ sẽ được xử lý theo kiểu dory.

51
00:03:18,220 --> 00:03:24,070
‫Nhưng nói chung, thực hành tốt khi viết mã những thứ này là cố gắng giữ cho tệp tiêu đề

52
00:03:24,070 --> 00:03:25,720
‫này càng nhỏ càng tốt.

53
00:03:25,720 --> 00:03:32,380
‫Bất cứ khi nào chúng tôi đưa tệp tiêu đề vào tệp này, một chương trình được gọi là bộ xử lý tiền xử lý sẽ lấy

54
00:03:32,380 --> 00:03:37,720
‫tất cả nội dung của tệp tiêu đề đó, loại bỏ một số thứ như nhận xét và sau đó dán

55
00:03:37,720 --> 00:03:40,780
‫tất cả nội dung của tệp tiêu đề đó vào tệp này.

56
00:03:41,050 --> 00:03:46,810
‫Kết quả là tệp này trở nên lớn hơn vì nó có nội dung của tệp bao gồm đó dán nó

57
00:03:46,810 --> 00:03:47,530
‫vào đây.

58
00:03:47,530 --> 00:03:50,950
‫Chúng tôi chỉ muốn bao gồm những thứ khi chúng tôi sử dụng chúng.

59
00:03:50,950 --> 00:03:56,740
‫Vì vậy, làm thế nào để chúng ta loại bỏ việc không bao gồm tệp tiêu đề ở đây trong tiêu đề cơ sở?

60
00:03:56,740 --> 00:04:02,380
‫Chà, chúng ta có thể sử dụng một thứ gì đó trong C ++ được gọi là khai báo chuyển tiếp.

61
00:04:02,380 --> 00:04:07,990
‫Chúng tôi chuyển tiếp khai báo loại thành phần viên nang u này bằng cách sử dụng từ khóa lớp như thế này.

62
00:04:08,470 --> 00:04:15,310
‫Lưu ý rằng trình biên dịch hiện hiển thị kiểu này là màu xanh lục bất cứ khi nào chúng ta chuyển tiếp khai báo một biến sau đó có thể

63
00:04:15,310 --> 00:04:18,010
‫loại bỏ việc không bao gồm tệp tiêu đề của nó.

64
00:04:18,010 --> 00:04:23,830
‫Nó nói với trình biên dịch rằng đây là một kiểu, vì vậy nó sẽ không cung cấp cho chúng tôi lỗi IntelliSense nữa, nói

65
00:04:23,830 --> 00:04:26,170
‫rằng nó không nhận ra đây là một kiểu.

66
00:04:26,170 --> 00:04:28,150
‫Bây giờ đây là một loại không hoàn chỉnh.

67
00:04:28,150 --> 00:04:34,150
‫Nếu chúng tôi thực sự cố gắng sử dụng kiểu này bằng cách truy cập các thành viên như hàm và biến hoặc cố gắng xây

68
00:04:34,150 --> 00:04:38,560
‫dựng một đối tượng kiểu này, chúng ta sẽ gặp lỗi vì đó là kiểu không hoàn chỉnh.

69
00:04:38,560 --> 00:04:44,950
‫Chúng tôi sẽ cần tệp tiêu đề được bao gồm ở bất kỳ nơi nào chúng tôi sử dụng kiểu này để thực hiện những điều đó để chúng tôi có thể

70
00:04:44,950 --> 00:04:48,400
‫chuyển tiếp khai báo một con trỏ của một loại để tránh cần tệp tiêu đề.

71
00:04:48,400 --> 00:04:53,230
‫Nhưng điều quan trọng cần lưu ý là chúng ta cần các tệp tiêu đề để kế thừa từ các lớp cụ thể.

72
00:04:53,230 --> 00:05:00,130
‫Lưu ý rằng lớp này kế thừa từ một ao và tệp tiêu đề ao được bao gồm ở đây ở trên cùng.

73
00:05:00,130 --> 00:05:05,470
‫Vì vậy, kế thừa yêu cầu tệp tiêu đề cho loại mà chúng tôi đang kế thừa.

74
00:05:05,470 --> 00:05:09,100
‫Vì vậy, chúng ta hãy thảo luận về khai báo chuyển tiếp và tại sao chúng ta muốn làm điều đó.

75
00:05:09,130 --> 00:05:16,120
‫Giả sử chúng ta có một lớp gọi là Base Pon cần phải có một biến con trỏ thuộc loại thành phần viên nang

76
00:05:16,120 --> 00:05:17,020
‫của bạn.

77
00:05:17,050 --> 00:05:22,060
‫Bây giờ, thành phần viên con nhộng nằm trong tệp tiêu đề thành phần viên con nhộng.

78
00:05:22,060 --> 00:05:28,470
‫Bây giờ chúng ta thực sự sẽ sử dụng kiểu này dựa trên khi chúng ta xây dựng một đối tượng của U.

79
00:05:28,480 --> 00:05:30,010
‫Loại thành phần viên nang.

80
00:05:30,010 --> 00:05:36,820
‫Vì vậy, dựa trên tất cả những gì chúng ta thực sự cần là có một con trỏ của thành phần viên nang loại U.

81
00:05:37,000 --> 00:05:44,440
‫Bây giờ sự thật là dựa trên H thực sự không cần các chi tiết triển khai của lớp thành phần

82
00:05:44,440 --> 00:05:45,160
‫viên nang.

83
00:05:45,160 --> 00:05:50,680
‫Nói cách khác, nó không cần biết các hàm được định nghĩa như thế nào hoặc thậm chí là lớp thành phần viên nang

84
00:05:50,680 --> 00:05:51,820
‫lớn như thế nào.

85
00:05:51,850 --> 00:05:55,750
‫Một con trỏ thành phần viên nang có cùng kích thước với bất kỳ con trỏ nào khác.

86
00:05:55,750 --> 00:05:57,250
‫Nó chỉ là một địa chỉ.

87
00:05:57,250 --> 00:05:58,810
‫Bây giờ trong lớp kế hoạch cơ sở.

88
00:05:58,810 --> 00:06:01,420
‫Chúng tôi muốn xây dựng thành phần viên nang.

89
00:06:01,510 --> 00:06:08,260
‫Vì lý do này, chúng ta cần biết kích thước của một thành phần viên nang để bố trí bộ nhớ cần thiết cho

90
00:06:08,260 --> 00:06:09,790
‫việc tạo đối tượng này.

91
00:06:09,790 --> 00:06:16,060
‫Vì vậy, mặc dù tiêu đề thành phần viên nang không hoàn toàn cần thiết trong Ponca cơ sở, nhưng nó hoàn toàn cần thiết trong cơ

92
00:06:16,060 --> 00:06:16,330
‫sở.

93
00:06:16,350 --> 00:06:24,970
‫Porkpie Vì vậy, phương pháp lập trình tốt là chỉ bao gồm các tiêu đề mà bạn thực sự cần chúng để chúng ta có thể khai báo con trỏ

94
00:06:24,970 --> 00:06:32,410
‫của con trỏ thành phần viên nang loại U trong sản phẩm cơ sở H và sau đó bao gồm các thành phần viên nang

95
00:06:32,410 --> 00:06:39,310
‫mà chúng tôi cần chi tiết triển khai vì chúng tôi đang xây dựng một thành phần viên nang và chúng ta cần

96
00:06:39,310 --> 00:06:41,020
‫biết kích thước của a.

97
00:06:41,310 --> 00:06:43,230
‫Thành phần viên nang trong bộ nhớ.

98
00:06:43,350 --> 00:06:49,920
‫Bây giờ chúng ta hãy thảo luận về hậu quả của việc đưa tệp tiêu đề vào FX cơ sở thay thế.

99
00:06:50,010 --> 00:06:55,410
‫Như chúng ta đã thấy, chúng ta hoàn toàn có thể làm được điều này và bạn có thể đang nghĩ rằng, chúng tôi đang

100
00:06:55,410 --> 00:07:01,230
‫đưa nó vào CP pont cơ sở Dù sao, vậy sẽ có gì khác biệt nếu chúng ta đưa nó vào tệp này so với tệp khác?

101
00:07:01,260 --> 00:07:03,180
‫Bây giờ đây là nơi vấn đề xuất hiện.

102
00:07:03,210 --> 00:07:07,390
‫Tệp tiêu đề được thiết kế để được bao gồm bởi các tệp khác.

103
00:07:07,410 --> 00:07:12,810
‫Vì vậy, giả sử rằng chúng tôi có Base Pond H và chúng tôi đã bao gồm các thành phần viên nang trong đó.

104
00:07:12,810 --> 00:07:18,600
‫Và sau đó xa hơn, chúng ta có một số lớp khác và chúng ta sẽ có một con trỏ ao cơ sở trong một

105
00:07:18,600 --> 00:07:23,370
‫số lớp khác, giống như chúng ta có một con trỏ thành phần viên nang trong pod cơ sở.

106
00:07:23,400 --> 00:07:28,230
‫Bây giờ, thay vì gặp rắc rối khi khai báo con trỏ ao cơ sở và một số lớp

107
00:07:28,230 --> 00:07:33,810
‫khác, chúng ta sẽ khai báo nó như bình thường và bao gồm con trỏ cơ sở trong một số lớp khác.

108
00:07:34,680 --> 00:07:41,520
‫Vì vậy, bây giờ Base Pond H không chỉ bao gồm tiêu đề thành phần viên nang, điều này dẫn đến nhiều mã được sao

109
00:07:41,520 --> 00:07:43,190
‫chép vào tệp tiêu đề đó.

110
00:07:43,200 --> 00:07:47,820
‫Bây giờ một số lớp khác có cơ sở, bao gồm thành phần viên nang.

111
00:07:47,820 --> 00:07:55,470
‫Vì vậy, tất cả các thành phần nội dung và viên nang cũng nằm bên trong một số lớp H khác và nó thậm chí không cần

112
00:07:55,470 --> 00:07:56,400
‫thiết ở đó.

113
00:07:56,400 --> 00:08:01,910
‫Một số class khác mà H chỉ cần biết về cơ sở thì không cần quan tâm đến thành phần viên nang.

114
00:08:01,920 --> 00:08:07,920
‫Bây giờ giả sử chúng ta tiếp tục mẫu này và tạo một số lớp khác được gọi là lớp khác và một lớp

115
00:08:07,920 --> 00:08:13,680
‫khác có thể cần phải có một con trỏ kiểu một số lớp khác ngay bây giờ thay vì khai báo chuyển tiếp.

116
00:08:13,680 --> 00:08:21,180
‫Chúng tôi chỉ gộp một số lớp H khác vào lớp H khác và bây giờ ở trong lớp H khác.

117
00:08:21,210 --> 00:08:27,840
‫Mặc dù chúng tôi thậm chí không cần tiêu đề cho thành phần ao cơ sở hoặc viên nang H, chúng tôi đã đưa nó

118
00:08:27,840 --> 00:08:32,730
‫vào một lớp khác vì một số lớp khác bao gồm các tệp tiêu đề bên trong nó.

119
00:08:32,730 --> 00:08:40,140
‫Vì vậy, chúng tôi có các bản sao của tất cả nội dung của các thành phần viên nang và dựa trên H chỉ mắc kẹt ở đây

120
00:08:40,140 --> 00:08:46,620
‫trong một lớp khác, làm đầy tệp đó và tăng thời gian biên dịch tất cả vì chúng tôi không chuyển tiếp khai báo.

121
00:08:46,620 --> 00:08:52,440
‫Vì vậy, thay vào đó, điều tốt hơn nên làm là bao gồm các tệp tiêu đề nơi chúng thực sự cần thiết.

122
00:08:52,440 --> 00:08:59,610
‫Vì vậy, nếu chúng tôi lấy các thành phần viên nén và chỉ đưa nó vào dựa trên CPP, thì sau này khi chúng tôi tạo một

123
00:08:59,610 --> 00:09:05,340
‫số lớp khác và thực sự cần sử dụng nhóm cơ sở, chúng tôi có thể bao gồm tiêu đề ở

124
00:09:05,340 --> 00:09:12,840
‫đó và cơ sở dựa trên không bao gồm các thành phần viên nang, vì vậy tất cả mã bổ sung đó không được bao gồm trong một số

125
00:09:12,840 --> 00:09:13,440
‫lớp khác.

126
00:09:13,440 --> 00:09:18,810
‫Và sau đó khi chúng ta tạo ra một lớp khác cần một số lớp khác, chúng ta có thể

127
00:09:18,810 --> 00:09:24,990
‫đưa một số lớp khác h vào một lớp khác mà CPP nơi nó thực sự cần và sau đó là một lớp

128
00:09:24,990 --> 00:09:30,270
‫khác mà H không chứa đầy nội dung của các tệp tiêu đề khác mà nó không cần.

129
00:09:30,270 --> 00:09:36,990
‫Vì vậy, khi các lớp có các phụ thuộc như thế này dựa trên phụ thuộc vào thành phần viên nang, tốt nhất nên giữ các phụ

130
00:09:36,990 --> 00:09:38,670
‫thuộc đó ở mức tối thiểu.

131
00:09:38,880 --> 00:09:42,570
‫Vì vậy, tôi sẽ thách thức bạn tạo ra một lỗi biên dịch.

132
00:09:42,570 --> 00:09:44,970
‫Chúng ta không nên sợ lỗi biên dịch.

133
00:09:44,970 --> 00:09:47,550
‫Chúng chỉ là một phần bình thường của quá trình phát triển.

134
00:09:47,550 --> 00:09:54,210
‫Vì vậy, chúng tôi sẽ tạo ra một cách cố ý quay lại và xóa từ khóa lớp và biên dịch mà không khai

135
00:09:54,210 --> 00:09:56,160
‫báo về phía trước capsule comp.

136
00:09:56,160 --> 00:10:04,080
‫Bây giờ khi tôi nói biên dịch, ý tôi là bạn có thể biên dịch từ mã Visual Studio, chỉ là một biên dịch C ++ thông thường.

137
00:10:04,110 --> 00:10:10,500
‫Bạn đã học cách làm điều đó hoặc bạn có thể chỉ cần lưu tệp và mã Visual Studio của mình và bắt đầu

138
00:10:10,500 --> 00:10:11,670
‫mã hóa trực tiếp.

139
00:10:11,670 --> 00:10:16,800
‫Một trong hai phương pháp đó đều tốt và khi chúng ta cùng nhau giải quyết vấn đề này, tôi sẽ cho bạn thấy điều gì sẽ xảy ra với cả hai

140
00:10:16,800 --> 00:10:17,280
‫phương pháp.

141
00:10:17,280 --> 00:10:22,440
‫Nếu bạn sử dụng mã hóa trực tiếp, tất nhiên bạn sẽ xem đầu ra được tạo trong cửa

142
00:10:22,440 --> 00:10:27,270
‫sổ mã hóa trực tiếp thay vì đầu ra mà bạn sẽ thấy trong mã Visual Studio.

143
00:10:27,270 --> 00:10:33,060
‫Bây giờ spoiler, bạn sẽ gặp lỗi biên dịch, hãy xem thông báo lỗi biên dịch, xem nó nói

144
00:10:33,060 --> 00:10:34,260
‫gì với bạn.

145
00:10:34,470 --> 00:10:38,070
‫Đây chỉ là một cách tự làm quen với các lỗi mà chúng tôi tạo ra.

146
00:10:38,070 --> 00:10:43,500
‫Sau đó, quay lại và chuyển tiếp, khai báo capsule comp bằng từ khóa class.

147
00:10:43,620 --> 00:10:48,450
‫Khi bạn đã hoàn thành việc đó, hãy biên dịch lại, lần này bạn sẽ có được một bản biên dịch thành công.

148
00:10:48,780 --> 00:10:51,060
‫Tạm dừng video và thử cái này.

149
00:10:53,520 --> 00:10:56,350
‫Được rồi, vậy chúng ta hãy phá hoại mã của chúng ta ở đây.

150
00:10:56,370 --> 00:10:58,320
‫Tôi sẽ xóa từ khóa lớp.

151
00:10:58,700 --> 00:11:03,540
‫Được rồi, vì vậy chúng tôi đã cố gắng biên dịch và đây là kết quả đầu ra trong thiết bị đầu cuối.

152
00:11:03,570 --> 00:11:09,300
‫Điều đầu tiên chúng tôi thấy là lỗi và nó cung cấp cho chúng tôi một mã lỗi và nó nói rằng capsule comp không phải là thành viên của

153
00:11:09,300 --> 00:11:10,830
‫một cơ sở cầm đồ cơ sở.

154
00:11:10,860 --> 00:11:17,040
‫Chúng tôi có một ghi chú cho biết khai báo C của một cơ sở cầm đồ và sau đó chúng tôi thấy rằng chúng tôi nhận được các lỗi khác do kết

155
00:11:17,040 --> 00:11:17,940
‫quả của việc này.

156
00:11:17,940 --> 00:11:23,390
‫Vì vậy, đôi khi học sinh sẽ bối rối khi họ cố gắng biên dịch và dường như mắc nhiều lỗi.

157
00:11:23,400 --> 00:11:28,560
‫Vì vậy, điều này cho thấy rằng một sai lầm duy nhất có thể tạo ra một loạt các lỗi.

158
00:11:28,560 --> 00:11:31,670
‫Và điều đó không có nghĩa là bạn phải đi sửa cả đống tệp.

159
00:11:31,680 --> 00:11:34,410
‫Lỗi có thể có một nguồn gốc duy nhất ở đây.

160
00:11:34,410 --> 00:11:36,420
‫Chúng tôi biết nguồn gốc của lỗi là gì.

161
00:11:36,420 --> 00:11:37,820
‫Chúng tôi cần phải chuyển tiếp tuyên bố.

162
00:11:37,830 --> 00:11:45,150
‫Bây giờ chúng ta hãy xem điều gì sẽ xảy ra nếu chúng ta sử dụng mã trực tiếp thay vì mã biên dịch và Visual Studio thông thường.

163
00:11:45,150 --> 00:11:51,450
‫Vì vậy, tôi sẽ tiếp tục và nhấp vào nút để bắt đầu mã hóa trực tiếp và ngay lập tức với màu đỏ, tôi thấy quá trình xây dựng

164
00:11:51,450 --> 00:11:54,270
‫không thành công và chúng tôi thấy điều tương tự ở đây.

165
00:11:54,270 --> 00:11:55,050
‫Ngay tại đây.

166
00:11:55,050 --> 00:11:59,310
‫Capsule comp không phải là thành viên của nốt cầm đồ cơ sở.

167
00:11:59,340 --> 00:12:01,860
‫Xem tuyên bố của một cơ sở cầm đồ.

168
00:12:01,860 --> 00:12:03,750
‫Vì vậy, chúng tôi thấy điều tương tự ở đây.

169
00:12:03,750 --> 00:12:08,490
‫Vì vậy, cả hai trường hợp, chúng ta sẽ gặp lỗi như thế này khi chúng ta quên chuyển tiếp khai báo.

170
00:12:08,490 --> 00:12:16,170
‫Vì vậy, bây giờ chúng ta biết nó trông như thế nào và bây giờ chúng ta có nhiều thông tin hơn và ít sợ hãi hơn về những thông báo lỗi biên

171
00:12:16,170 --> 00:12:17,340
‫dịch bí ẩn này.

172
00:12:17,460 --> 00:12:23,280
‫Vì vậy, những gì chúng tôi sẽ làm là sửa lỗi này bằng cách khai báo trước cho bạn thành phần viên nang và sau đó chúng

173
00:12:23,280 --> 00:12:24,990
‫tôi có thể thử biên dịch lại.

174
00:12:24,990 --> 00:12:27,780
‫Và bây giờ chúng tôi đã biên dịch mà không có bất kỳ lỗi nào.

175
00:12:27,870 --> 00:12:32,070
‫Vì vậy, bây giờ chúng ta thấy nó trông như thế nào khi chúng ta quên chuyển tiếp khai báo một biến.

176
00:12:32,100 --> 00:12:35,250
‫Hãy ghi nhớ điều đó khi bạn gặp lỗi trình biên dịch trong tương lai.

177
00:12:35,760 --> 00:12:41,490
‫Vì vậy, tóm lại, chúng ta đã thảo luận về khai báo chuyển tiếp khi tạo một con trỏ mới và

178
00:12:41,490 --> 00:12:48,370
‫chúng tôi biết rằng bạn chỉ nên đưa những gì bạn sử dụng vào tệp CP và chúng ta nên đưa vào tệp H. càng ít

179
00:12:48,450 --> 00:12:49,020
‫càng tốt.

180
00:12:49,050 --> 00:12:55,020
‫Chúng ta biết rằng chúng ta không cần tệp tiêu đề để khai báo một con trỏ mới miễn là chúng ta khai báo chuyển tiếp

181
00:12:55,020 --> 00:13:00,090
‫và chúng ta cần tệp tiêu đề nếu chúng ta đang xây dựng một đối tượng của một kiểu cụ thể.

182
00:13:00,090 --> 00:13:05,850
‫Và chúng tôi cần tệp tiêu đề để truy cập các thành viên như các hàm và biến và chúng tôi thấy rằng chúng tôi

183
00:13:05,850 --> 00:13:09,780
‫thực sự cần tệp tiêu đề để kế thừa cho việc kế thừa từ một lớp.

184
00:13:09,780 --> 00:13:11,460
‫Chúng tôi cần tệp tiêu đề đó ở đó.

185
00:13:11,580 --> 00:13:17,160
‫Vì vậy, bây giờ chúng ta đã biết cách chuyển tiếp khai báo một kiểu và chúng ta có comp con con trỏ của mình, chúng ta đã sẵn

186
00:13:17,160 --> 00:13:21,840
‫sàng để thực sự xây dựng một đối tượng thành phần capsule và chúng ta sẽ thực hiện điều đó trong video tiếp theo.

187
00:13:22,200 --> 00:13:23,040
‫Tôi sẽ gặp bạn sớm.

