国产一区二区三区香蕉-2020国产成人精品视频-欧美日韩亚洲三区-www.91桃色-最美情侣中文第5季免费观看-久草毛片-国产成人精品av-男女猛烈拍拍拍无挡视频-中文字幕看片-色视频欧美一区二区三区-久久久久久久久久影院-一级a爱片久久毛片-精品久久久久久无码中文字幕一区-欧美色图网站-无码色偷偷亚洲国内自拍-国产一区在线免费观看

代寫代做Project 3 - CanvasList CS 251

時(shí)間:2024-03-02  來源:  作者: 我要糾錯(cuò)


Project 3 - CanvasList

CS 251, Spring 2024

In this project (and the next!) we will build our own versions of data structures. By the end of this project, you will...

● Gain an understanding of the usage of a linked list in data structures

● Have practiced manipulating a linked list in various ways

● Understand the power of polymorphism in an object-oriented language

Remember, if you get stuck for more than 30 minutes on a bug, you should come to office hours. You should also come to office hours if you have questions about the guide or starter code, even if you haven’t written any code yet.

Restrictions

● You may not include additional C++ libraries to implement CanvasList or shapes. The only included library for CanvasList is <iostream>; and the only included library for shapes is <string>.

○ It’s fine to include libraries to write tests.

● You will need to use classes, pointers, and new. Do not use malloc, we’re not writing C.

● You may modify shape.cpp, canvaslist.cpp, and canvaslist_tests.cpp freely.

● You may modify canvaslist.h only to add additional private member functions. You

may not add additional member variables (public or private), or additional public member

functions.

● See Memory Safety & valgrind.

Logistics

There are 2 main things that are different about this project:

1. zyBooks does not easily support using valgrind in its autograder. It also does not support reusing a single compilation target to run multiple tests. Therefore, although you will have a zyBooks workspace and starter code, you will submit to Gradescope to receive autograder feedback. We expect you to make multiple submissions.

2. The way many of our tests are written gives away significant parts of what you will be working on. As such, we do not have a public test suite. Instead, we’ll give detailed failure messages to the extent possible.

Due:

● Gradescope: Monday 3/4, 11:59 PM

○ canvaslist.h

 

 ○ shape.cpp

○ canvaslist.cpp

○ canvaslist_tests.cpp

● Use grace tokens:

https://docs.google.com/forms/d/e/1FAIpQLSctqCl9ZYt52IKJZGnyrrJhuW5DMN1ZCJI7d 9C_Cutm3OliqA/viewform

○ Grace tokens should be requested by 5 PM the day before. For example, if you intend to submit the project by 11:59 PM on Tuesday 3/5, you must submit the form by 5 PM on Monday 3/4. If you submit later, you will need to wait until we process it to be able to receive autograder feedback from Gradescope.

○ This requires setting up a UIC Google account. If you have not yet done so, visit https://learning.uic.edu/resources/virtual-collaboration/google-workspace/.

Testing

We will continue studying and practicing testing, this time on a data structure. This raises an interesting question: in order to test the functions that tell us what’s inside the data structure, we have to add data. But then we’re assuming that the methods to add data work correctly! We’ll have to be ok with the fact that we’re testing two functions at once. Later, we can assume that these work correctly.

This time, we’re going to take a slightly different approach to evaluating your tests. We have many buggy implementations. Your task is to write tests that expose these buggy implementations! The bugs may be in CanvasList, Shape, or in one of the derived classes. You’ll receive credit for each buggy implementation that fails your tests. This will happen when you submit to Gradescope.

Keep in mind that the correct implementation must pass your tests to receive any credit – no writing EXPECT_TRUE(false), for example. To aid you in checking your own test cases, we’ve provided solution “object files”: canvaslist_solution.o and shape_solution.o.

In zyBooks, use make run_solution_tests to run your tests on the course staff’s correct solution.

Memory “Ownership”

When we pass pointers around as arguments or return values, it’s important to track what part of the program is responsible for freeing the memory associated with that pointer. We call this concept “ownership” – whomever “owns” a pointer is responsible for freeing it.

This isn’t actually enforced by the compiler or anything – it’s an informal model that helps us keep track of when to free things. Here’s an example:

 

 class MyClass {

 public:

  int* ptr;

  MyClass() {

ptr = new int;

*ptr = 10; }

  ~MyClass() {

    if (ptr != nullptr) {

delete ptr; }

  }

  int* getPtr() {

    // Who owns this now?

return ptr; }

};

int main() {

  MyClass mc;

  int* p = mc.getPtr();

  delete p;

}

Here, we have code that eventually ends up with 2 pointers in different places that point to the same memory. This is a problem! The delete p; in main and the destructor ~MyClass() both try to delete the same underlying memory, causing a double free error.

We need to make sure only one of them runs – but which one? This is where the concept of documenting ownership comes in handy. Here’s two examples, either of which will prevent the double free error.

     // MyClass keeps ownership, caller

// must not free returned ptr

int* getPtr() {

return ptr; }

int main() {

 // Ownership transferred to caller,

// caller must free returned ptr

int* getPtr() {

  int *ret = ptr;

  ptr = nullptr;

  return ret;

}

int main() {

 

    MyClass mc;

  int* p = mc.getPtr();

}

   MyClass mc;

  int* p = mc.getPtr();

  delete p;

}

 In the example on the left, MyClass keeps ownership and will free ptr in its destructor – according to the method comment, the caller must not free the returned pointer. There’s nothing stopping the caller from doing so, though, so it’s just documentation.

In the example on the right, MyClass gives up or transfers ownership. According to the documentation, the caller must free the returned pointer. Therefore, the implementation sets ptr = nullptr; inside the class, preventing the destructor from deleting it. Outside the class, in main, the pointer is deleted. Again, there’s nothing guaranteeing the caller deletes the pointer.

If this all seems difficult to keep track of, you’re right! It’s super important though, and that’s why C++11 added a feature called “smart pointers”. These help keep track of ownership for us, and lets the language take care of when dynamically allocated memory gets free’d. Unfortunately, they’re a bit too much to cover in 251 and we won’t see them this term.

Memory Safety & valgrind

In this class, we care a lot about writing correct C++ code. One aspect of correctness that is much more relevant when working with pointers is memory safety – does our program only access memory that it is allowed to? Programs that have out-of-bounds accesses or use-after-frees or other memory issues are broken programs.

On the other hand, memory leaks aren’t as bad, but they still indicate poor “hygiene” and loose memory management. You’ll definitely have memory leaks until you complete the destructor. Even then, you may have memory leaks due to mismanagement. As such, we’ll have a flat score item for writing a program that has no memory leaks and passes at least one test.

  Some of the functions you will implement will specify how to handle pointer ownership, and our tests expect these to be implemented properly. Make sure you pay attention to this, so you don’t get double frees or memory leaks!

   We care so strongly about this, in fact, that a program with memory errors, such as out-of-bounds accesses or use-after-frees, will receive no credit for the corresponding test. It does not matter whether your code might be correct if we ignore the undefined behavior.

 We treat these as fatal, program-ending errors, because they are.

 

 We will run all tests using valgrind to detect and report this behavior. MacOS doesn’t have valgrind – see Memory Safety and MacOS for more information.

Memory Safety Tips and Tricks

1. Apply the above section – whose job is it to free the memory?

2. Before you follow a pointer, check whether it’s nullptr.

3. If you delete something, make sure you update any pointers to it to either be a different

valid pointer or nullptr. There might be multiple pointers to the same thing!

Memory Safety and MacOS

MacOS doesn’t have valgrind. While we can use leaks, this doesn’t catch undefined behavior and makes the program incompatible with AddressSanitizer (another way of catching undefined behavior). We have a few options, none of them do everything that valgrind can, and they get progressively sketchier. (I have an M2 Mac for personal use I’m experimenting with – I really have no idea how M1 or Intel Macs behave.)

● Run your tests in zyBooks, which has valgrind. (Strongly recommended – sorry . You can still develop and do a lot of testing locally, but ensuring memory safety is easiest to do in a true Linux environment.)

These later bullets require more knowledge with the terminal and your computer, and we don’t know whether they work. We didn’t build these into the Makefile, and you’re on your own if you want to try them.

● If you have a non-M1/M2 Mac, https://github.com/LouisBrunner/valgrind-macos seems promising, but apparently has some false positives. I haven’t tested it; I don’t have an x86 Mac.

● Run all tests twice: once when compiling with AddressSanitizer (-fsanitize=address), and once under leaks. Even then, this misses when we try to read uninitialized memory!

● Use brew install llvm, and switch to using the newly installed /opt/homebrew/opt/llvm/bin/clang++ (or maybe /usr/local/opt/llvm/bin/clang++). Then, we can compile our program with -fsanitize=address and run with the environment variable ASAN_OPTIONS=detect_leaks=1 to both detect leaks and see undefined behavior. Of course, this still doesn’t see uninitialized memory errors.

● Docker just for valgrind??? (This just sounds cursed.)

 ���

 

 Tasks

Task: Shape

First, we’ll need to implement the Shape base class. See the documentation in shape.h, and write your implementation in shape.cpp.

The default constructor for Shape should set x and y to 0. Task: Testing

As described above, we’re evaluating your testing differently this project.

See canvaslist.h for documentation and a description of what each method does. We strongly recommend writing your test suite first. Place your tests in canvaslist_tests.cpp. Remember to use EXPECT_EQ (keeps going when it fails) or ASSERT_EQ (stops the test when it fails).

You can check that your tests pass on the solution in zyBooks by using the make run_solution_tests command. If your tests don’t pass on the solution, they’re probably wrong!

When you submit to Gradescope, we will run your tests on a correct solution. If the correct solution passes your tests, we will then run your tests on many broken solutions, to see how many your tests “expose”. If you are struggling with writing tests for a particular broken solution, see Project3BrokenSolutionsOverview foravaguedescriptionofwhereeachisbroken.

Task: CanvasList

CanvasList is a singly linked list, where the nodes are of type ShapeNode. You’ll see that the ShapeNode is a class that contains 2 member variables: a Shape* (data pointer), and a ShapeNode* (pointer to the next node).

A reminder of the restrictions from above:

● You may modify canvaslist.h only to add additional private member functions.

● You may not add additional member variables (public or private), or additional public

member functions.

See canvaslist.h for documentation and a description of what each method does. All your function definitions should be in canvaslist.cpp. We recommend completing the methods in the following order:

1. Default constructor

 

 2. empty, size, front

a. Your size function should be one line long. If it is not one line long, you are

probably doing something that is setting you up for tricky bugs in the future.

3. push_front, push_back

4. draw, print_addresses

5. Copy constructor 6. find, shape_at 7. insert_after

8. pop_front, pop_back 9. clear

10. Assignment operator 11. Destructor

12. remove_at

13. remove_every_other

Task: Other Shapes

Finally, we take advantage of the fact that our CanvasList stores pointers to various shapes to use polymorphism. Implement the remaining derived classes:

● Rect

● Circle

● RightTriangle

If a member variable is not given as an argument to a derived class’s constructor, set it to 0. Then, try writing tests that insert these into your CanvasList – we don’t have to write any

additional code to make the CanvasList work with them!

The RightTriangle documentation has a typo. The as_string function should have the line, “It’s a Right Triangle at x: 1, y: 2 with base: 3 and height: 4”.

 

 Example Execution

See the (commented) code in main.cpp. You can use this file to experiment with your own linked list methods outside of a test. When enough of the methods and the extra derived classes are properly implemented, you’d see this output. Note that the addresses will be different, but the format should be the same.

List size: 0

Front: 0

Adding Shape to the front

List size: 1

It's a Shape at x: 1, y: 3

Adding Shape to the front

List size: 2

It's a Shape at x: 4, y: 6

It's a Shape at x: 1, y: 3

Adding Shape to the back

List size: 3

It's a Shape at x: 4, y: 6

It's a Shape at x: 1, y: 3

It's a Shape at x: 4, y: 6

Adding Circle to the front

List size: 4

It's a Circle at x: 2, y: 4, radius: 3

It's a Shape at x: 4, y: 6

It's a Shape at x: 1, y: 3

It's a Shape at x: 4, y: 6

Adding Rectangle to the back

List size: 5

It's a Circle at x: 2, y: 4, radius: 3

It's a Shape at x: 4, y: 6

It's a Shape at x: 1, y: 3

It's a Shape at x: 4, y: 6

It's a Rectangle at x: 0, y: 0 with width: 0 and height: 10

Adding Right Triangle to the front

List size: 6

It's a Right Triangle at x: 1, y: 2 with base: 3 and height: 4

It's a Circle at x: 2, y: 4, radius: 3

It's a Shape at x: 4, y: 6

It's a Shape at x: 1, y: 3

It's a Shape at x: 4, y: 6

It's a Rectangle at x: 0, y: 0 with width: 0 and height: 10

 

 Deleting last element

List size: 5

It's a Right Triangle at x: 1, y: 2 with base: 3 and height: 4

It's a Circle at x: 2, y: 4, radius: 3

It's a Shape at x: 4, y: 6

It's a Shape at x: 1, y: 3

It's a Shape at x: 4, y: 6

Inserting Shape after index 1

Original:

It's a Right Triangle at x: 1, y: 2 with base: 3 and height: 4

It's a Circle at x: 2, y: 4, radius: 3

It's a Shape at x: 4, y: 6

It's a Shape at x: 1, y: 3

It's a Shape at x: 4, y: 6

Updated Original:

It's a Right Triangle at x: 1, y: 2 with base: 3 and height: 4

It's a Circle at x: 2, y: 4, radius: 3

It's a Shape at x: 3, y: 4

It's a Shape at x: 4, y: 6

It's a Shape at x: 1, y: 3

It's a Shape at x: 4, y: 6

Addresses:

Node Address: 0x562ac60e82a0

Node Address: 0x562ac60e81d0

Node Address: 0x562ac60e8260

Node Address: 0x562ac60e8150

Node Address: 0x562ac60e80e0

Node Address: 0x562ac60e8190

Shape Address: 0x562ac60e8280

Shape Address: 0x562ac60e81b0

Shape Address: 0x562ac60e8240

Shape Address: 0x562ac60e8130

Shape Address: 0x562ac60e80c0

Shape Address: 0x562ac60e8170

 

 Grading Breakdown

Later methods depend on previous ones working correctly. For any scoring item, your program may not have valgrind errors.

    Points

Shape class

3

CanvasList testing (catching bugs in broken implementations; tests must pass for a correct solution to receive credit)

20

Default CanvasList constructor, empty, size, front

4

push_front, push_back

5

draw, print_addresses (manually graded)

2

CanvasList copy constructor

5

find, shape_at

5

insert_after

5

pop_front, pop_back

5

clear

5

CanvasList assignment operator

5

remove_at

5

remove_every_other

5

No valgrind errors or memory leaks (destructor + general hygiene); passes at least one CanvasList test.

15

Circle class

2

Rect class

2

RightTriangle class

2

                  Style

● 2 points: Code is styled consistently; for example, using the VSCode formatter. ○ (F1, type in “Format Document”)

 

 ● 1 point: Code is reasonably styled, but there are consistent significant stylistic issues (e.g. inconsistent indentation, line length > 120, spacing, etc.)

● 0 points: No credit (e.g. entire program is on one line)

Documentation + Commenting

● 3 points: Code is well-documented with descriptive variable names and comments, but not overly documented.

● 1.5 points: Code is partially documented, due to a lack of comments and/or poor naming; or code is overly documented with unnecessary comments.

● 0 points: Code has no documentation or appropriate names.

請(qǐng)加QQ:99515681  郵箱:99515681@qq.com   WX:codehelp 

標(biāo)簽:

掃一掃在手機(jī)打開當(dāng)前頁
  • 上一篇:代寫CanvasList CS 251 Project 3
  • 下一篇:CS1083代做、代寫Java設(shè)計(jì)編程
  • 無相關(guān)信息
    昆明生活資訊

    昆明圖文信息
    蝴蝶泉(4A)-大理旅游
    蝴蝶泉(4A)-大理旅游
    油炸竹蟲
    油炸竹蟲
    酸筍煮魚(雞)
    酸筍煮魚(雞)
    竹筒飯
    竹筒飯
    香茅草烤魚
    香茅草烤魚
    檸檬烤魚
    檸檬烤魚
    昆明西山國家級(jí)風(fēng)景名勝區(qū)
    昆明西山國家級(jí)風(fēng)景名勝區(qū)
    昆明旅游索道攻略
    昆明旅游索道攻略
  • NBA直播 短信驗(yàn)證碼平臺(tái) 幣安官網(wǎng)下載 歐冠直播 WPS下載

    關(guān)于我們 | 打賞支持 | 廣告服務(wù) | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責(zé)聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 kmw.cc Inc. All Rights Reserved. 昆明網(wǎng) 版權(quán)所有
    ICP備06013414號(hào)-3 公安備 42010502001045

    主站蜘蛛池模板: 中文字字幕在线 | 亚洲精品一线二线三线 | 国产特级毛片aaaaaaa高清 | 欧美一区二区三区色 | 狠狠插狠狠干 | 欧美日韩高清免费 | 免费的毛片视频 | 亚洲 欧美 中文 日韩a v一区 | 欧美亚洲精品天堂 | 91丨porny丨国产入口 | 午夜影院一区 | av片免费看 | 亚洲天堂狠狠干 | 超碰一区 | 夜夜躁狠狠躁日日躁 | 日本黄色免费网站 | 国产精品久久久一区二区三区 | 日韩av免费在线播放 | 杨贵妃颤抖双乳呻吟求欢小说 | 天天添天天操 | 黄色大片视频 | 人人爽夜夜爽 | 极品美女无套呻吟啪啪 | a中文字幕在线观看 | 女人一级一片30分 | 亚洲校园激情 | 伊人伊人网 | 中文视频在线观看 | 色婷婷在线播放 | www.好吊色| 狠狠干夜夜爽 | 日本少妇激情视频 | 精品一区二区三区在线视频 | 插插插91 | 久久久久久亚洲欧洲 | 成人免费福利 | 伊人色婷婷 | jzjzz成人免费视频 | 国产18p| h片在线观看免费 | 美女啪啪网站 | 成人av片在线观看 | 亚洲一区第一页 | 午夜黄网 | 亚洲精品视频一区二区三区 | 中国在线观看视频高清免费 | 性av网| 欧美1234区 | 超碰在线免费公开 | 在线免费看91 | 97国产精品| 国产女人18毛片水18精品 | 国产又粗又猛又爽又黄av | 老司机午夜影院 | 91高清免费 | 久久e热| 亚洲裸体大白屁股xxx | 中文字幕第11页 | 在线观看视频中文字幕 | 人人插人人草 | 天天操中文字幕 | 人成在线 | 夜夜躁狠狠躁日日躁 | 精品九九九 | 欧美香蕉视频 | 国产精品视频a | 极品少妇xxxx精品少妇偷拍 | 亚洲狠 | 在线看精品 | 中文字幕免费高清视频 | 91cn.com| 亚洲区自拍 | 国产欧美视频在线播放 | 国产又爽又黄又嫩又猛又粗 | 在线观看欧美精品 | 亚洲精品国产精品国自产观看浪潮 | 欧美日本 | 一区二区三区手机在线观看 | 西欧毛片 | 热99在线观看 | 91精品视频在线免费观看 | 男人午夜免费视频 | 国产69精品久久久久久久久久 | 日韩欧美亚洲一区二区三区 | 丁香婷婷九月 | 中文字幕免费在线观看视频 | 人人人射 | 伊人色综合久久天天 | 五月天婷婷网站 | 国产视频一区二区在线播放 | 国产国产精品 | 91好色先生tv | 美女网站av| 九九久久网| av中文国产| 国产毛片毛片毛片毛片 | 五月婷婷六月丁香 | 欧美专区在线观看 | 亚洲区免费视频 | 再深点灬舒服灬太大了快点91 | 精品一级少妇久久久久久久 | 国产精品人人做人人爽人人添 | 国产美女精品一区 | 欧美激情一区二区视频 | 欧美一级黄色片 | 欧美一区二区三区影院 | 亚洲理论在线 | 亚洲福利网址 | 免费日韩一区 | 香蕉污视频在线观看 | 91亚洲人人在字幕国产 | 中文国产视频 | 国产男女猛烈无遮挡免费视频动漫 | 亚洲成色www久久网站 | 国产毛片毛片毛片毛片毛片毛片 | 成人亚洲精品久久久久 | 国产女同视频 | 在线精品一区二区三区 | 久久久精品在线观看 | 久久天天躁狠狠躁夜夜97 | 欧美性大战久久久 | 亚洲最大黄色网址 | 国产亚洲精品美女久久久 | 日日噜噜噜夜夜爽爽狠狠 | 国产高清99| 日本午夜精华 | 最近中文字幕无免费 | www国产视频 | 成人一区二区三区视频 | 青青草原在线免费观看视频 | 色精品| 陪读偷伦初尝小说 | 亚洲成人免费在线 | 欧美一级乱黄 | 99热这里只有精品在线 | 五月天综合视频 | 久久综合爱| 夜夜嗨网站 | 99热这里都是精品 | 国内精品偷拍视频 | 欧美激情图区 | 亚洲资源在线 | 九色91蝌蚪 | 中文字幕人乱码中文字 | 免费国产黄色片 | 网址在线观看你懂的 | 国产精品人人爽人人爽av | 丁香花免费高清完整在线播放 | 天天cao在线 | 5566色 | 亚洲操比 | 一级在线观看 | 日韩不卡毛片 | 亚洲一区二区福利 | 91在线观看. | 国产国产国产 | 色播五月激情 | 国产aaa级片 | 国产吧在线 | 国产免费91| 中文字幕在线观看一区 | 九色视频在线观看 | 日韩免费福利视频 | 国产婷婷在线观看 | 天天欲色| 欧美xxxxbbbb| 国产裸体永久免费视频网站 | 天天干狠狠插 | 国产又大又粗又爽 | 婷婷丁香六月 | 福利在线视频导航 | 国产网站av | 国产精品成人在线观看 | 国产精品人人人人 | av成人精品 | 九色丨蝌蚪丨少妇调教 | 伊人久久中文 | 97自拍偷拍视频 | 亚洲天天av | 三级黄在线观看 | 永久免费看片在线 | 中文字幕狠狠干 | 日本精品一区二区三区四区的功能 | 天天综合网在线 | 亚洲一区日韩 | 在线观看av网站 | 欧美干干干 | 日韩欧美中文字幕一区 | 亚洲精品乱码久久久久久蜜桃不爽 | 91精品婷婷国产综合久久蝌蚪 | 五月天伊人网 | xxx综合网| 日韩免费播放 | 久久国产精品99精国产 | 久久艹免费视频 | 以女性视角写的高h爽文 | 亚洲精品理论片 | www.欧美精品 | 97免费在线视频 | av怡红院 | 夜夜操网址 | 亚洲自拍中文字幕 | 久久久久久久久国产 | 精品久久久久久 | 国产精品色 | 18女人毛片| av成人在线免费观看 | 日日干夜夜骑 | 先锋影音一区二区三区 | 免费黄色大片网站 | 日韩性视频 | 一区二区三区欧美在线观看 | 快播视频在线观看 | 午夜啪啪网站 | 日韩精品1区2区 | 亚洲国产精品va在线 | 三级黄网 | 国产微拍精品一区 | 黄色avav| 一区二区三区毛片 | www一级片| 国产又粗又猛又爽又黄的视频一 | 九色在线视频 | 久久天堂av | 91超薄丝袜肉丝一区二区 | 亚洲视频二区 | 黄色片aaaa | 国产亚洲资源 | 深爱激情五月婷婷 | 亚洲黄av| 久久国产热 | 91麻豆产精品久久久久久夏晴子 | 狠狠爱五月婷婷 | 在线看尤物 | 狠狠操导航 | 九一国产视频 | 国产视频www | 操操操综合网 | 久久乐国产精品 | 国产激情综合五月久久 | 先锋av网| caoporen超碰| 国产精品一级二级三级 | 日韩精品一二 | 男人的亚洲天堂 | 天天射天天射天天射 | 亚洲高清免费视频 | 亚洲综合中文网 | 亚洲精品黄| 在线免费国产精品 | 强开乳罩摸双乳吃奶羞羞www | 97人人射 | 欧美在线视频观看 | 国产又粗又猛 | 日韩91视频 | 日韩一区二区三区视频在线观看 | 久久免费看片 | 91人人澡人人爽 | 日韩性视频 | 亚洲小视频 | 国产精品一二三区视频 | 乳孔很大能进去的av番号 | 成人免费毛片日本片视频 | 激情欧美日韩 | 91黄视频在线观看 | 日本三级视频在线播放 | 在线视频二区 | 精品国产乱码久久久久久闺蜜 | 亚洲精品在线观看视频 | 欧美男人天堂 | 国产成人麻豆免费观看 | 99黄色网| 国产精品一区二区6 | 日韩一区二区三区免费 | 黄色一级视频免费 | 久久精品国产视频 | 欧美一级淫片免费视频黄 | 91精品丝袜| 国产高清在线观看 | 秋霞午夜鲁丝一区二区老狼 | 青青青青青青草 | 在线黄色av网站 | 午夜在线| 狠狠干少妇 | 国产免费黄色录像 | k8经典成人理伦片 | 一级黄色国产片 | 超碰免费在线播放 | 韩国三级三级三级a三级 | 最近日本字幕mv免费观看在线 | 国产精品久久久久久久久动漫 | 无码一区二区三区视频 | 成人欧美一区二区三区黑人冫 | 亚洲一区在线看 | 优优色欧美| 天天天色 | 国产亚洲精品成人av久久影院 | 天堂视频在线免费观看 | 日韩精品综合 | 精品日韩在线观看 | 超碰公开免费 | 日韩av一| 久久人爽 | 亚洲精品久久久乳夜夜欧美 | 三级a做爰全过程 | 日本三级午夜理伦三级三 | 青娱乐最新视频 | 九九色网 | 在线免费观看国产 | 国产精品天天看 | 国产乱人伦偷精品视频不卡 | 亚洲黄色大片 | 色秀视频在线观看 | 99在线观看精品视频 | 亚洲欧美在线人成swag | 在线看一级片 | 一本大道久久a久久综合婷婷 | 亚州三级| 精品国产免费一区二区三区 | 日韩欧美国产一区二区三区在线观看 | 99视频+国产日韩欧美 | 韩国一级片在线观看 | 亚州综合网 | 一区二区三区免费在线观看 | 国产一及毛片 | 国产伦精品一区二区三区视频无 | 成人免费视频观看 | 欧美精品一级 | 一级视频在线观看 | 日韩骚片 | 国产香蕉久久精品综合网 | 亚洲七区| 老色批网站 | 国产免费一区二区三区免费视频 | 灌满闺乖女h高h调教尿h | 日日噜噜噜夜夜爽爽狠狠视频97 | 成人亚洲玉足脚交系列 | 91超碰免费 | 亚洲天堂网在线观看 | 男人天堂社区 | 视频在线一区二区三区 | 99久久精品国产免费看不卡 | 亚洲鲁鲁 | 黄色片中文字幕 | 4438x亚洲最大 | 青青草成人网 | 四虎三级| 台湾佬美性中文娱乐网 | 欧美自拍偷拍第一页 | 亚洲视频在线播放 | 污污视频在线看 | 久操中文| 91久久国产综合精品女同国语 | 呦呦色| 91香蕉久久| 午夜影院免费体验区 | 99日韩精品 | 99亚洲天堂 | а√天堂资源在线 | 午夜少妇福利 | 日韩欧美日本 | 日韩激情在线观看 | 一区二区小视频 | av一区二 | 欧美野外猛男的大粗鳮 | 两个女人互添下身爱爱 | 在线观看av中文字幕 | 国产综合一区二区 | 欧美亚洲高清 | 色图视频 | 精品香蕉一区二区三区 | 国产精品视频123 | 性欧美另类 | 近伦中文字幕 | 91精产品一区一区三区40p | 91麻豆精品国产91久久 | 久久露脸国产精品 | 最近中文字幕免费视频 | 玩偶姐姐在线观看免费 | 99国产精品欧美久久久久久 | 伊人免费在线观看高清版 | 久久久精品日本 | 亚洲第一视频在线 | 99视频在线免费观看 | 337p亚洲精品色噜噜噜 | 爱如潮水3免费观看日本高清 | jizz97| 国产精品人人爱一区二区白浆 | 国产乱码在线观看 | 国产精品黄色 | 激情四射av| 日韩三区在线观看 | 日韩视频二区 | 深夜av在线 | 国产精品国产三级国产专业不 | 中文字幕av高清 | 在线观看免费大片 | 激情久久久| 毛片视频网站 | 午夜国产精品视频 | 青青草www| 黄色免费av网站 | 国产福利av在线 | 欧美在线一级片 | 精品中文av| 免费激情网 | 免费黄色在线 | 国产欧美视频一区二区三区 | 国产性久久 | 欧美日韩一区二区不卡 | 综合久久精品 | melody在线高清免费观看 | 在线观看免费大片 | av超碰| 男女视频在线免费观看 | 中文在线观看免费高清 | 青青青国产视频 | 国产亚洲在线观看 | 亚洲欧美综合在线观看 | 亚洲精品国产精品乱码不卡√香蕉 | 丁香色网 | 日本www | 青青草一区 | 国产精品久久久久久久午夜 | 91视频在线免费观看 | 国产免费一级片 | 伊人久久香 | 夜夜操网站 | 国产系列在线观看 | 中文视频一区 | 国产一区二区黄 | 丁香综合在线 | 波多野结衣视频免费 | 国产素人在线 | 精品一区二区三区在线观看 | 超碰资源在线 | 高潮毛片 | 超碰午夜| 亚洲91视频| 国内精品久久久久久久影视简单 | 欧美怡红院视频 | 成人中文字幕视频 | 亚洲尤物在线 | 国产一级片av | 欧美日韩久久精品 | 精品第一页 | 97免费观看视频 | 国产在线视频资源 | 国产在线v | 国产午夜精品一区二区三区 | 久热这里只有精品6 | 毛片毛多水多 | 亚洲第一成年免费网站 | 不卡av网站在线观看 | 亚洲天堂网在线播放 | 区一区二在线观看 | 国产精品乱码妇女bbbb | av网站免费大全 | 亚洲精品自拍偷拍视频 | 国产第9页 | 精品一区二区三区自拍图片区 | 超碰2022| 免费看欧美片 | 亚洲区av | 免费成人看视频 | 欧美成人精品在线观看 | 超碰66| 97精品免费视频 | 日韩欧美中文字幕在线视频 | 国产成人8x视频一区二区 | 国产视频一区二区在线 | 国产精品一区二区三区免费 | 欧日韩在线 | 亚洲精品永久www嫩草 | 91亚洲欧美激情 | 久草一区 | 青青草原国产在线观看 | 国产成人免费视频 | 国产一页 | 不卡视频一区二区三区 | 天天澡天天狠天天天做 | 开心激情网五月天 | 在线污视频 | 欧美一本 | 天天干夜夜操 | 成人午夜视频在线观看 | 欧美少妇视频 | 青草成人| 国产真实乱偷精品视频 | 在线精品福利 | 亚洲tv在线| 日韩在线不卡视频 | 日本女人黄色片 | 天天色官网 | 少女情窦初开的第4集在线观看 | 夜夜操免费视频 | www.99爱| 亚洲乱码一区二区三区 | 亚洲春色一区二区三区 | 久久艹网站 | 日韩有码在线视频 | 成人香蕉网 | 国产精品4 | 亚洲国产中文字幕 | 国产精品5| 欧美人伦| 黄色的视频网站 | 男女三级视频 | 国产综合一区二区 | 久久99精品久久久水蜜桃 | 日本高清免费视频 | 黄色在线观看免费视频 | a毛片在线 | 亚洲欧洲免费视频 | 亚洲精品国产精品国自产在线 | 国产精品精东影业 | 91亚色| 欧美毛片网站 | 国产一级大片在线观看 | av网在线 | 久久三级黄色片 | 91桃色视频| 97se在线| 国产精品一区二区人人爽 | 日本少妇激情视频 | 久久精品片| 欧美日韩二区三区 | 伊人狼人久久 | 欧美日韩国产中文字幕 | 在线伊人网 | 国产黄色自拍视频 | 亚洲精品乱码久久久久久蜜桃不爽 | 佐佐木希av一区二区三区 | 蜜臀久久99精品久久久久久宅男 | 三级在线网站 | 亚洲啊啊 | 精品国产免费观看 | 国产成人精品久久 | 九九精品免费视频 | 在线看一级片 | 色综合视频在线观看 | 色视频导航 | 九九日韩 | 国产另类视频 | 亚洲欧洲日本在线 | 爱搞国产| 少妇高潮一69aⅹ | www.日韩在线观看 | 久久久久久黄 | 91涩涩视频 | 在线观看av中文字幕 | 杨贵妃颤抖双乳呻吟求欢小说 | 色老头在线观看 | caoporn国产一区二区 | 人人插人人看 | 欧美大片免费播放器 | 在线免费观看毛片 | 欧美久久网 | 国产一二区在线观看 | 日美毛片 | 欧美片网站免费 | 亚洲精品免费播放 | 最近中文字幕第一页 | 中中文字幕在线观看 | 久久久噜噜噜久久 | 欧美aa| 一级真人毛片 | 国内精品少妇在线播放98 | 永久免费的在线观看网站 | 97久久久 | 中文字幕97 | 欧美一级一区二区三区 | 三级黄在线观看 | 欧美综合第一页 | 国产成年视频 | 精品蜜桃av | 亚洲精品久久久艾草网 | 精品久久久久国产 | 久久中文字幕一区 | 亚洲欧美不卡 | 依依成人综合网 | www五月婷婷 | 一级片免费观看视频 | 久视频在线 | 欧美成人免费一级人片100 | 国产乱码精品一区二区三区中文 | 黑人巨大精品欧美一区二区免费 | 中文av在线播放 | 亚洲国产精品网站 | 亚洲国产视频一区二区 | 中文字幕日韩精品一区 | 日本一二三区视频 | 日韩成人在线观看 | 久久视频在线免费观看 | 粉嫩av一区二区三区免费观看 | 91手机在线播放 | 99成人精品 | 亚洲国产欧美日韩在线 | 精品动漫av | 在线看a网站| 欧美一线高本道 | 国产极品美女高潮无套嗷嗷叫酒店 | 日韩高清免费av | 五月开心网| 日韩欧美在线观看视频 | av在线首页 | 国产无遮挡又黄又爽又色视频 | 97国产精品久久 | 日韩午夜av| 亚洲欧洲综合 | 日韩成人一级片 | 久久久久激情 | 日本高清视频在线播放 | 99re视频这里只有精品 | 国产xxxx裸体肉体大胆147 | 久久艹免费视频 | 亚洲系列在线 | 午夜影院色 | 亚洲最大福利视频 | 97自拍偷拍 | 手机看片日本 | 一二区视频 | h视频免费在线观看 | 亚洲网av | 国产乱码精品一区二三区蜜臂 | 亚洲污片 | 99综合 | 尤物视频在线免费观看 | 性欧美长视频 | 免费99精品国产自在在线 | 三级伦理片| 日干夜操 | 国产欧美日韩成人 | 国产一区二区三区久久久 | 性欧美13一14内谢 | 在线观看成人小视频 | 免费国产在线视频 | 夜夜躁天天躁很 | 三级全黄的视频 | 少女情窦初开的第4集在线观看 | 91精品国产91久久久久久 | 亚洲男人天堂影院 | 以女性视角写的高h爽文 | 亚洲精品无人区 | 国产网址| 国产一区二区三区免费观看 | 欧美色999 | 成人国产精品久久久春色 | 国产精品成人免费精品自在线观看 | 视频一区在线播放 | 午夜在线一区二区 | 日韩一级二级三级 | 国产亚洲精品久久久久久青梅 | 日本超碰 | 精品久久久久久久久久久久久久久久 | 免费成人蒂法网站 | 欧美成人免费一级人片100 | xxxxxx日本| 91精品国产综合久久久蜜臀粉嫩 | 日韩中文字幕在线 | 成人毛片在线精品国产 | 国产a久久| 性爱一级视频 | 国产原创视频 | 色欧美在线 | 亚洲偷偷自拍 | 国产午夜视频在线观看 | 国产孕妇孕交大片孕 | 少妇又白又嫩又色又粗 | 中文字幕在线观看亚洲 | 天天撸天天操 | 亚洲国产精品18久久久久久 | 蜜臀va | 一级黄色a毛片 | 日韩二区视频 | 国产精品久久免费视频 | 精品国产乱码久久 | 久久精品69| 天堂在线资源库 | 综合在线视频 | 成人网视频 | 亚洲精品爱爱 | 成人午夜激情 | 亚洲国产精品美女 | 欧美精品在线播放 | 亚洲精品国产精品乱码不卡 | 国产又粗又硬 | 欧美日韩免费观看一区=区三区 | 性欧美亚洲xxxx乳在线观看 | 快活影院av | 成人激情文学 | 神马久久久久久 | 午夜性色福利视频 | 国产拍拍拍| 色桃网 | 亚洲黄色中文字幕 | 天天摸天天射 | 一级少妇精品久久久久久久 | 成人免费视屏 | 亚洲无色 | 亚洲天堂中文字幕在线 | 国偷自产av一区二区三区 | 97爱爱爱| 午夜在线观看免费 | 亚洲精品一区二区在线 | 国产亚洲无 | 国产农村av| 亚洲精选在线 | 少妇精品偷拍高潮白浆 | 久久噜噜噜精品国产亚洲综合 | 青娱乐在线免费观看 | 91超级碰| 中文字幕精品视频在线观看 | 亚洲人毛茸茸 | 精品国产www | 六月久久 | 国产 欧美 日韩 在线 | av涩涩 | 欧美韩日 | 中文字幕在线观看不卡 | 日日草夜夜草 | 国产精品666| 懂色av蜜臀av粉嫩av喷吹 | 香蕉毛片| 在线se| 一区二区三区在线视频观看 | 97成人资源| 亚洲免费三区 | 亚洲狼人天堂 | 另类欧美亚洲 | 色婷婷久久综合中文久久蜜桃av | 日本少妇激情视频 | 自拍偷拍第二页 | 欧美激情一二三区 | 亚洲国产精品suv | 东方欧美色图 | 97超碰免费 | 美日韩一区二区 | 午夜一级片 | bt7086福利一区国产 | 天天色综 | 韩日少妇 | 奇米影视7777 | 久久久青草| 美女三级视频 | 亚洲精品综合 | 黄色三级情侣片 | 国产视频1 | 精品一区二区三区免费毛片爱 | 国产精品久久久久久久久久久久午夜 | 99精品一区二区 | 久久男人精品 | 五月天婷婷在线观看 | 在线国产一区二区 | 午夜一区二区三区 | 久久久久久久久久久久久久av | 黑人vs亚洲人在线播放 | 99国产在线视频 | 亚洲福利久久 | 男女激情在线观看 | 国产精品精 | 天天爽天天射 | 91精品国产色综合久久不卡98 | 九色国产精品 | 国产剧情在线 | xx99小雪 | 伊人77| 日韩精品在线观看网站 | 亚洲综合视频图片 | 欧美日韩精品一区二区在线播放 | 亚洲国产成人精品无色码 | 天堂av一区二区 | 日韩免费一级 | 成年人免费黄色 | 色婷婷香蕉在线一区二区 | 黑人vs亚洲人在线播放 | 播放黄色一级片 | 人人干超碰 | 一级黄色高清 | www.97色| 成年黄色片 | 亚洲成人精品网 | 国产中文字幕在线视频 | 男人午夜视频 | av有码在线| 最近中文字幕免费视频 | 日韩精品综合 | 亚欧av在线播放 | 51国产偷自视频区免费播放 | 伊人色播 | 日韩专区在线 | 亚洲午夜激情网 | 久久久国产精华液 | 日韩在线一 | 色噜噜狠狠一区二区三区 | 狠狠躁夜夜躁人 | www日 | 亚洲欧洲国产综合 | 久久久久久免费毛片 | 久久精品国产欧美亚洲人人爽 | 欧美91视频 | 亚洲91在线 | 精品久久一区二区 | 三级av在线播放 | 国产精品久久久久久久久久 | 日韩欧美亚洲一区二区三区 | 日本在线小视频 | 国产日韩精品一区二区三区 | 国产成人免费视频 | 日韩欧美精品在线 | 精品免费一区二区三区 | 色老头综合网 | 国产精品久久久久久久天堂 | 日韩久久久久久 | 少妇一级淫片免费看 | av网址在线看 | 97爱爱视频 | 久久午夜精品 | 51成人做爰www免费看网站 | 亚洲社区在线 | 韩日成人 | 人人澡人人干 | 国产在线观看免费 | 久操国产| 久久久久99啪啪免费 | 欧美啪视频| 宅男久久 | 91精品免费观看 | 四虎精品影视 | 欧美体内she精高潮 欧美午夜精品久久久久久人妖 | 国产aaa大片 | 中日韩无砖码一线二线 | 天天摸日日摸 | 视频在线观看 | 自拍天堂 | 一级片一区 | 制服丝袜天堂 | 精品久久久久久久久久久久久久久久久 | 一区二区三区精品 | 国产cao| 国产精品福利视频一区 | 中文在线观看免费 | 日韩经典中文字幕 | 污视频在线观看免费 | 成av人片一区二区三区久久 | 国产理论片在线观看 | 天天操天天插 | 一级美女视频 | 国产美女精品aⅴ在线播放 久热国产区二三四 | 久久国产精品免费一区二区三区 | 亚洲成人免费在线 | 亚洲国产精品嫩草影院久久av | 朝桐光一区二区三区 | 亚洲国产精品久久久久久6q | 中文字幕亚洲精品一区 | 亚洲涩色| 日韩av一级片| 伊伊综合网 | 色妻av| 龚玥菲三级露全乳视频 | www.欧美成人 | 丰满大乳少妇在线观看网站 | 性视频网址 | 91精品免费 | 久久91亚洲| 隣の若妻さん波多野结衣 | 快播视频在线观看 | 成人午夜免费在线观看 | 午夜视频在线观看国产 | 欧日韩在线视频 | 日本va欧美va欧美va精品 | 中文字幕 亚洲视频 | 91福利视频网站 | 午夜精品一区二区三区在线观看 | 最新日韩av| 亚洲 美腿 欧美 偷拍 | 日本免费福利视频 | 国产一级在线 | 日韩av在线一区 | 久久国产九九 | 亚洲最新视频在线观看 | av噜噜在线 | 亚洲欧美高清在线 | 久久婷综合 | 亚洲成人一二三区 | 欧美成人精品一区二区 | 精品精品 | av不卡免费在线观看 | av中文字幕一区 | 在线免费观看视频一区二区三区 | 黄色国产在线视频 | 久久久久久久久亚洲 | 天天色天天射天天干 | 欧美成人精品欧美一 | 日产精品久久久一区二区 | 久久久综合精品 | 国产让女高潮的av毛片 | 日本少妇色| 国产乱淫a∨片免费观看 | 色综合久久久久 | 中文字幕久久久久 | 一级在线播放 | 国产五区| yy6080久久 | 91资源在线视频 | 免费在线观看高清影视网站 | 寡妇激情做爰呻吟 | 精品久久久久香蕉网 | 激情五月俺也去 | 亚洲美女屁股眼交2 | 欧美专区在线播放 | 国产精品伦视频看免费三 | 天天爽夜夜爽夜夜爽精品视频 | 99爱在线视频 | 亚洲视频三区 | 一区二区免费视频 | 久久国产精品久久久久久 | av免费大全 | 久热av在线 | 成人久久久久久久 | 日韩中文字幕免费观看 | 91精品资源 | 男女视频一区 | 日韩三级久久 | 国产麻豆精品在线观看 | 91直接看| 综合色网站 | 成人欧美一区二区三区 | 天天爱天天干天天操 | 国产午夜视频在线 | 茄子香蕉视频 | 欧美资源 | 91精品啪在线观看国产线免费 | 久草天堂| 综合久久综合 | 男女网站在线观看 | 性色在线 | 色噜噜狠狠狠综合曰曰曰 | 国产精品一区二区6 | 91在线免费视频观看 | 91精品国产自产91精品 | 国产又粗又猛又爽又黄的视频一 | 欧美国产片 | 成人久久大片91含羞草 | 亚洲 欧美 国产 制服 动漫 | 成人亚洲视频 | 在线午夜 | 国产亚洲精品久久久久久无几年桃 | 69色堂| av高清不卡 | 天天拍夜夜操 | 色哟哟精品观看 | 黄色大片av | av日日操 | 国产精品99久久久久久宅男 | 国产第一区第二区 | 91官网在线观看 | 又黄又色 | 国产欧美久久久精品免费 | 天天射天天色天天干 | 狠狠操在线观看 | 五月天久久久久久 | 日韩一区二区在线观看 | 日韩成人免费观看 | 少妇性xxxxxxxxx色武功 | 男女在线免费观看 | 亚洲午夜黄色 | 一区二区毛片 | 亚洲永久免费在线观看 | 黄页视频在线免费观看 | 日本一区二区精品 | 日韩欧美中文字幕在线观看 | 国产思思 | 亚洲精品乱码久久久久久黑人 | 成人动漫视频在线观看 | 午夜国产视频 | 蜜臀久久99静品久久久久久 | 亚洲视频图片小说 | 欧美日韩专区 | 亚洲a在线观看 | 国产福利免费 | 黄色片免费 | 91美女在线视频 | 波多野结衣91 | 视频在线观看一区二区三区 | av在线大全| 天堂在线网 | 青娱乐自拍视频 | 午夜精品一区二区三区在线 | 色一情一区二 | 国产手机在线播放 | 一本亚洲 | 国产精品欧美激情 | 在线久久 | 欧美射射| 精品999www | 色五婷婷 | 色吧五月天 | 婷婷色小说 |